import * as vscode from 'vscode';
import {dedent} from "../../../utils";

// documentation中使用了代码块，代码块中写的事makedown格式，首行不能为空
let slItems = [
    {
        "label": "release_print",
        "insertText": "SL:release_print()",
        "documentation": dedent`# 打印函数-日志打印，[在线文档](http://engine-doc.996m2.com/web/#/22/1355)
        `
    },
    {
        "label": "Print",
        "insertText": "SL:Print()",
        "documentation": dedent`# 打印函数-DEBUG下日志打印,[在线文档](http://engine-doc.996m2.com/web/#/22/1355)
        `
    },
    {
        "label": "PrintEx",
        "insertText": "SL:PrintEx()",
        "documentation": dedent`# 打印函数-DEBUG下日志打印,[在线文档](http://engine-doc.996m2.com/web/#/22/1355)
        `
    },
    {
        "label": "PrintTraceback",
        "insertText": "SL:PrintTraceback()",
        "documentation": dedent`# 打印函数-DEBUG下日志打印,[在线文档](http://engine-doc.996m2.com/web/#/22/1355)
        `
    },
    {
        "label": "dump",
        "insertText": "SL:dump(data, description, nesting)",
        "documentation": dedent`# 打印函数-DEBUG下日志打印,[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        -- data: table - 需要打印的表
        -- description: string - 打印表描述
        -- nesting: int - 需要打印的深度
        `
    },
    {
        "label": "JsonDecode",
        "insertText": "SL:JsonDecode(jsonStr, isfilter)",
        "documentation": dedent`# JSON-json字符串解密,[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        特殊：json过程中已下违禁词不可用
        违禁词：lib function then end _G return index set %( %) _
        -- jsonStr: string - json字符串
        -- isfilter: boolean - 是否过滤违禁词 默认为true
        返回值： json table
        代码示例
        -- [[{"index":1, "value":2}]]   -->  {index = 1, value = 2}
        local jsonStr = [[{"index":1, "value":2}]]
        local jsonData = SL:JsonDecode(jsonStr)
        `
    },
    {
        "label": "JsonEncode",
        "insertText": "SL:JsonEncode(jsonData, isfilter))",
        "documentation": dedent`# JSON-json字符串加密,[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        jsonData	table	json表
        isfilter	boolean	是否过滤违禁词 默认为true
        返回值： json string
        代码示例
        -- {index = 1, value = 2}   -->   [[{"index":1, "value":2}]

        local tab = {"1","2"}
        local jsonStr = SL:JsonEncode(tab)
        SL:Print(jsonStr)
        `
    },
    {
        "label": "ConvertColorFromHexString",
        "insertText": "SL:ConvertColorFromHexString(hexStr)",
        "documentation": dedent`# 常用函数-颜色转换函数,[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        从16进制字符转为{r, g, b}
        返回值： table
        示例
        local color = SL:ConvertColorFromHexString("#FFFFFF")
        SL:dump(color)
        `
    },
    {
        "label": "IsFileExist",
        "insertText": "SL:IsFileExist(path)",
        "documentation": dedent`# 常用函数-文件路径是否存在,[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        path ：文件路径
        返回值 ：true / false
        示例
        if SL:IsFileExist("E:/1.png") then
            SL:Print("文件存在")
        else
            SL:Print("文件不存在")
        end
        `
    },
    {
        "label": "CopyData",
        "insertText": "SL:CopyData(data)",
        "documentation": dedent`# 常用函数-深拷贝,[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        `
    },
    {
        "label": "Split",
        "insertText": "SL:Split(str, delimiter)",
        "documentation": dedent`# 常用函数-字符串分割,[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        按分隔符去拆分一串字符
        返回值 ： table
        示例
        local spt = SL:Split("11#22#33", "|")
        SL:dump(spt)
        `
    },
    {
        "label": "ShowSystemTips",
        "insertText": "SL:ShowSystemTips(str)",
        "documentation": dedent`# 常用函数-文本提示,[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        str : string 提示文本
        `
    },
    {
        "label": "HashToSortArray",
        "insertText": "SL:HashToSortArray(hashTab, sortFunc)",
        "documentation": dedent`# 常用函数-哈希表转成按数组,[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        将hashTab转换成有序table，并可以按sortFunc排序，sortFunc可选参数
        示例
        local cfg = {["测试表1"] = {"表1", 1},["测试表2"] = {"表2", 2},["测试表3"] = {"表3", 3},["测试表4"] = {"表4", 4},["测试表5"] = {"表5", 5}}
        local function sort_cfg(a, b)
            return a[1] < b[1]
        end
        local new_cfg = SL:HashToSortArray(cfg, sort_cfg)
        SL:dump(new_cfg, "new_cfg")
        `
    },
    {
        "label": "SHOW_DESCTIP",
        "insertText": "SL:SHOW_DESCTIP(str, width, pos, anchorPoint)",
        "documentation": dedent`# 常用函数-显示提示文本框,[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        | 字段        | 必选 | 类型   | 注释                       |
        | :---------- | :--- | :----- | :------------------------- |
        | str         | 是   | string | 显示文本                   |
        | width       | 否   | int    | 显示宽度, 默认: 1136       |
        | pos         | 否   | table  | 坐标, 默认: {x = 0, y = 0} |
        | anchorPoint | 否   | table  | 锚点, 默认: {x = 0, y = 1} |
        `
    },
    {
        "label": "Require",
        "insertText": "SL:Require(file, reload)",
        "documentation": dedent`# 常用函数-加载文件,[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        | 字段        | 必选 | 类型   | 注释                       |
        | :---------- | :--- | :----- | :------------------------- |
        | file         | 是   | string | 文件名                   |
        | reload       | 否   | boolean    | 是否重新加载文件，填true时，会先释放文件再加载       |
        `
    },
    {
        "label": "RequireFile",
        "insertText": "SL:RequireFile(file)",
        "documentation": dedent`# 常用函数-加载文件,[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        DEBUG下默认重新加载文件
        | 字段        | 必选 | 类型   | 注释                       |
        | :---------- | :--- | :----- | :------------------------- |
        | file         | 是   | string | 文件名                   |
        `
    },
    {
        "label": "LoadTxtFile",
        "insertText": "SL:LoadTxtFile(path, delimiter, callBack)",
        "documentation": dedent`# 常用函数-拆解文件 [3.40.4版本],[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        以指定分隔符拆解一个文件
        | 字段      | 必选 | 类型     | 注释                             |
        | :-------- | :--- | :------- | :------------------------------- |
        | path      | 是   | string   | 文件路径                         |
        | delimiter | 否   | string   | 指定分隔符                       |
        | callback  | 是   | function | 拆解回调方法 传入拆分后table参数 |

        示例
        local function callback(data)
            SL:PrintTable(data, "LINE======")
        end
        SL:LoadTxtFile("data_config/msg_decoder_config.txt", "#", callback)
        `
    },
    {
        "label": "GetSimpleNumber",
        "insertText": "SL:GetSimpleNumber(num, places)",
        "documentation": dedent`# 常用函数-数字转换成万、亿单位,[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        将数字 num 转换成 xx万、xx亿
        | 字段   | 必选 | 类型 | 注释                            |
        | :----- | :--- | :--- | :------------------------------ |
        | num    | 是   | int  | 数值                            |
        | places | 否   | int  | 显示小数点后几位数 [3.40.3版本] |
        `
    },
    {
        "label": "HPUnit",
        "insertText": "SL:HPUnit(hp, pointBit)",
        "documentation": dedent`# 常用函数-血量单位显示,[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        将血量数值转换有单位显示 过十亿(单位：E) 10w-99999w(单位：W）
        | 字段     | 必选 | 类型 | 注释                             |
        | :------- | :--- | :--- | :------------------------------- |
        | hp       | 是   | int  | 血量数值                         |
        | pointBit | 否   | int  | 显示小数点后几位, 默认保留后两位 |
        `
    },
    {
        "label": "ChineseToVertical",
        "insertText": "SL:ChineseToVertical(str)",
        "documentation": dedent`# 常用函数-中文转换成竖着显示,[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        `
    },
    {
        "label": "NumberToChinese",
        "insertText": "SL:NumberToChinese(num)",
        "documentation": dedent`# 常用函数-阿拉伯数字转中文大写,[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        `
    },
    {
        "label": "GetUTF8ByteLen",
        "insertText": "SL:GetUTF8ByteLen(str)",
        "documentation": dedent`# 常用函数-获取字符串的byte长度,[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        `
    },
    {
        "label": "TimeFormatToStr",
        "insertText": "SL:TimeFormatToStr(time)",
        "documentation": dedent`# 常用函数-时间格式化成字符串显示,[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        `
    },
    {
        "label": "SecondToHMS",
        "insertText": "SL:SecondToHMS(sec, isToStr, isSimple)",
        "documentation": dedent`# 常用函数-时间格式化成字符串显示 [3.40.2版本],[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        将时间 time 大于 1 天时转换成 xx天xx时xx分， 否则 xx:xx:xx
        秒转时分秒
        | 字段    | 必选 | 类型    | 注释                                                         |
        | :------ | :--- | :------ | :----------------------------------------------------------- |
        | sec     | 是   | int     | 秒数                                                         |
        | isToStr | 否   | boolean | 是否转成字符串输出, 空或false则返回table {d = 天数, h = 小时, m = 分钟, s = 秒} |
        返回字符串格式 : xx天xx时xx分xx秒
        `
    },
    {
        "label": "GetThousandSepString",
        "insertText": "SL:GetThousandSepString(num)",
        "documentation": dedent`# 常用函数-数字转化为千分位字符串,[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        返回字符串格式 : 例: 10,000,000
        `
    },
    {
        "label": "SaveTableToConfig",
        "insertText": "SL:SaveTableToConfig(tab, name, destPath, sortFunc)",
        "documentation": dedent`# 常用函数-lua table转成config配置表,[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        | 字段 | 必选 | 类型   | 注释            |
        | :--- | :--- | :----- | :-------------- |
        | tab  | 是   | table  | 需要转换的table |
        | name | 是   | string | 转出文件名      |
        `
    },
    {
        "label": "HexToInt",
        "insertText": "SL:HexToInt(hexStr)",
        "documentation": dedent`# 常用函数-十六进制转十进制,[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        `
    },
    {
        "label": "GetStrMD5",
        "insertText": "SL:GetStrMD5(str)",
        "documentation": dedent`# 常用函数-MD5加密,[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        `
    },
    {
        "label": "GetPointDistanceSQ",
        "insertText": "SL:GetPointDistanceSQ(pt1, pt2)",
        "documentation": dedent`# 常用函数-计算两坐标间的平方距离 [3.40.3版本],[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        | 字段 | 必选 | 类型  | 注释                                   |
        | :--- | :--- | :---- | :------------------------------------- |
        | pt1  | 是   | table | 起始坐标 GUI:p(x, y) 或 {x = x, y = y} |
        | pt2  | 是   | table | 结束坐标 GUI:p(x, y) 或 {x = x, y = y} |
        `
    },
    {
        "label": "GetPointDistance",
        "insertText": "SL:GetPointDistance(pt1, pt2)",
        "documentation": dedent`# 常用函数-计算两坐标间的距离 [3.40.3版本],[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        | 字段 | 必选 | 类型  | 注释                                   |
        | :--- | :--- | :---- | :------------------------------------- |
        | pt1  | 是   | table | 起始坐标 GUI:p(x, y) 或 {x = x, y = y} |
        | pt2  | 是   | table | 结束坐标 GUI:p(x, y) 或 {x = x, y = y} |
        `
    },
    {
        "label": "GetPointLength",
        "insertText": "SL:GetPointLength(pt)",
        "documentation": dedent`# 常用函数-计算向量长度 [3.40.3版本],[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        | 字段 | 必选 | 类型  | 注释                          |
        | :--- | :--- | :---- | :---------------------------- |
        | pt   | 是   | table | GUI:p(x, y) 或 {x = x, y = y} |
        |      |      |       |                               |
        `
    },
    {
        "label": "GetPointLengthSQ",
        "insertText": "SL:GetPointLengthSQ(pt)",
        "documentation": dedent`# 常用函数-计算向量长度平方 [3.40.3版本],[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        | 字段 | 必选 | 类型  | 注释                          |
        | :--- | :--- | :---- | :---------------------------- |
        | pt   | 是   | table | GUI:p(x, y) 或 {x = x, y = y} |
        |      |      |       |                               |
        `
    },
    {
        "label": "GetAddPoint",
        "insertText": "SL:GetAddPoint(pt1, pt2)",
        "documentation": dedent`# 常用函数-计算两点相加坐标 [3.40.3版本],[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        | 字段 | 必选 | 类型  | 注释                               |
        | :--- | :--- | :---- | :--------------------------------- |
        | pt1  | 是   | table | 坐标 GUI:p(x, y) 或 {x = x, y = y} |
        | pt2  | 是   | table | 坐标 GUI:p(x, y) 或 {x = x, y = y} |
        `
    },
    {
        "label": "GetSubPoint",
        "insertText": "SL:GetSubPoint(pt1, pt2)",
        "documentation": dedent`# 常用函数-计算两点相减坐标 [3.40.3版本],[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        pt1坐标 减 pt2坐标
        | 字段 | 必选 | 类型  | 注释                               |
        | :--- | :--- | :---- | :--------------------------------- |
        | pt1  | 是   | table | 坐标 GUI:p(x, y) 或 {x = x, y = y} |
        | pt2  | 是   | table | 坐标 GUI:p(x, y) 或 {x = x, y = y} |
        `
    },
    {
        "label": "GetNormalizePoint",
        "insertText": "SL:GetNormalizePoint(pt)",
        "documentation": dedent`# 常用函数-标准向量化坐标 [3.40.3版本],[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        | 字段 | 必选 | 类型  | 注释                               |
        | :--- | :--- | :---- | :--------------------------------- |
        | pt  | 是   | table | 坐标 GUI:p(x, y) 或 {x = x, y = y} |
        `
    },
    {
        "label": "GetPointAngle",
        "insertText": "SL:GetPointAngle(pt1, pt2)",
        "documentation": dedent`# 常用函数-计算两向量夹角弧度值 [3.40.3版本],[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        | 字段 | 必选 | 类型  | 注释                               |
        | :--- | :--- | :---- | :--------------------------------- |
        | pt1  | 是   | table | 坐标 GUI:p(x, y) 或 {x = x, y = y} |
        | pt2  | 是   | table | 坐标 GUI:p(x, y) 或 {x = x, y = y} |
        `
    },
    {
        "label": "GetPointRotate",
        "insertText": "SL:GetPointRotate(pt1, pt2)",
        "documentation": dedent`# 常用函数-计算两向量夹角角度值 [3.40.3版本],[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        | 字段 | 必选 | 类型  | 注释                               |
        | :--- | :--- | :---- | :--------------------------------- |
        | pt1  | 是   | table | 坐标 GUI:p(x, y) 或 {x = x, y = y} |
        | pt2  | 是   | table | 坐标 GUI:p(x, y) 或 {x = x, y = y} |
        `
    },
    {
        "label": "GetPointAngleSelf",
        "insertText": "SL:GetPointAngleSelf(pt1, pt2)",
        "documentation": dedent`# 常用函数-计算自身弧度值 [3.40.3版本],[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        | 字段 | 必选 | 类型  | 注释                               |
        | :--- | :--- | :---- | :--------------------------------- |
        | pt   | 是   | table | 坐标 GUI:p(x, y) 或 {x = x, y = y} |
        |      |      |       |                                    |
        `
    },
    {
        "label": "GetPointRotateSelf",
        "insertText": "SL:GetPointRotateSelf(pt)",
        "documentation": dedent`# 常用函数-计算自身角度值 [3.40.3版本],[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        | 字段 | 必选 | 类型  | 注释                               |
        | :--- | :--- | :---- | :--------------------------------- |
        | pt   | 是   | table | 坐标 GUI:p(x, y) 或 {x = x, y = y} |
        |      |      |       |                                    |

        -- 获取坐标 pt1 到 pt2 的角度值
        local pt1 = GUI:p(100, 100)
        local pt2 = GUI:p(100, 200)
        local p = SL:GetSubPoint(pt2, pt1)
        local rotate = SL:GetPointRotateSelf(p)
        SL:Print(rotate)

        -- 两向量夹角 角度值
        local tRotate = SL:GetPointRotate(pt1, pt2)
        SL:Print(tRotate)
        `
    },
    {
        "label": "GetH16Bit",
        "insertText": "SL:GetH16Bit(value)",
        "documentation": dedent`# 常用函数-获取高16位值 [3.40.4版本],[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        `
    },
    {
        "label": "GetL16Bit",
        "insertText": "SL:GetL16Bit(value)",
        "documentation": dedent`# 常用函数-获取低16位值 [3.40.4版本],[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        `
    },
    {
        "label": "JumpTo",
        "insertText": "SL:JumpTo(id)",
        "documentation": dedent`# 常用函数-跳转到某个超链,[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        id : 对应界面的跳转id
        跳转id参考如下:
        Equip               = 1,            -- 角色-装备
        State               = 2,            -- 角色-状态
        Attri               = 3,            -- 角色-属性
        Skill               = 4,            -- 角色-技能
        Title               = 5,            -- 角色-装备
        BestRing            = 6,            -- 角色-首饰盒
        Bag                 = 7,            -- 背包
        Stall               = 8,            -- 摆摊
        StoreHot            = 9,            -- 商城-热销
        StoreBeauty         = 10,           -- 商城-装饰
        StoreEngine         = 11,           -- 商城-功能
        StoreFestival       = 12,           -- 商城-节日
        GuildMain           = 13,           -- 行会-主界面
        GuildMember         = 14,           -- 行会成员列表
        GuildList           = 15,           -- 行会列表
        Mail                = 16,           -- 邮件
        Team                = 17,           -- 组队
        NearPlayer          = 18,           -- 附近玩家

        Setting             = 23,           -- 设置
        MiniMap             = 24,           -- 小地图
        SkillSetting        = 25,           -- 技能设置
        StoreRecharge       = 26,           -- 充值
        Auction             = 27,           -- 拍卖行
        Friend              = 28,           -- 好友
        ExitToRole          = 29,           -- 小退
        GuildCreate         = 30,           -- 行会创建
        Guild               = 31,           -- 智能行会界面
        Rank                = 32,           -- 排行榜
        Trade               = 33,           -- 面对面交易 请求
        ForceExitToRole     = 34,           -- 强制小退
        TradingBank         = 35,           -- 交易行
        GuideEnter          = 36,           -- 引导进入
        SuperEquip          = 37,           -- 角色-神装
        HeroEquip           = 41,           -- 英雄-装备
        HeroState           = 42,           -- 英雄-状态
        HeroAttri           = 43,           -- 英雄-属性
        HeroSkill           = 44,           -- 英雄-技能
        HeroTitle           = 45,           -- 英雄-称号
        HeroBestRing        = 46,           -- 英雄-首饰盒
        HeroBag             = 47,           -- 英雄-背包
        HeroSuperEquip      = 48,           -- 英雄-神装
        ReinAttrPoint       = 51,           -- 转生属性点
        Chat                = 52,           -- 聊天
        PCPrivate           = 53,           -- PC 私聊记录页

        MagicJointAttack    = 99,           -- 释放合击

        AssistChange        = 110,          -- 主界面-任务栏
        Box996              = 111,          -- 盒子称号
        MainMiniMapChange   = 112,          -- 小地图伸缩
        PCResolution        = 113,          -- PC 分辨率设置
        ChatExtendEmoj      = 114,          -- 角色-表情
        ChatExtendBag       = 115,          -- 聊天小框-背包
        MainNear            = 116,          -- 主界面-附近列表
        CallPay             = 117,          -- 调用-支付

        SettingBasic        = 300,          -- 基础设置
        SettingWindowRange  = 301,          -- 视距
        SettingFight        = 302,          -- 战斗
        SettingProtect      = 303,          -- 保护
        SettingAuto         = 304,          -- 挂机
        SettingHelp         = 305,          -- 帮助

        KeFu                = 310,          -- 调用客服界面
        Compound            = 2201,         -- 合成

        PlayerInternalState     = 401,      -- 人物内功状态
        PlayerInternalSkill     = 402,      -- 人物内功技能
        PlayerInternalMeridian  = 403,      -- 人物内功经络
        PlayerInternalCombo     = 404,      -- 人物内功连击

        HeroInternalState       = 501,      -- 英雄内功状态
        HeroInternalSkill       = 502,      -- 英雄内功技能
        HeroInternalMeridian    = 503,      -- 英雄内功经络
        HeroInternalCombo       = 504,      -- 英雄内功连击

        ReviewGift              = 311,      -- 好评有礼
        Community               = 320,      -- 社区帖子

        `
    },
    {
        "label": "ExitToRoleUI",
        "insertText": "SL:ExitToRoleUI()",
        "documentation": dedent`# 常用函数-退出到选角界面,[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        小退时, 有弹窗提示
        `
    },
    {
        "label": "ForceExitToRoleUI",
        "insertText": "SL:ForceExitToRoleUI()",
        "documentation": dedent`# 常用函数-退出到选角界面,[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        强制小退, 无弹窗提示
        `
    },
    {
        "label": "ExitToLoginUI",
        "insertText": "SL:ExitToLoginUI()",
        "documentation": dedent`# 常用函数-退出到登录界面,[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        `
    },
    {
        "label": "ExitGame",
        "insertText": "SL:ExitGame()",
        "documentation": dedent`# 常用函数-退出游戏 [3.40.8版本],[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        `
    },
    {
        "label": "SendGMMsgToChat",
        "insertText": "SL:SendGMMsgToChat(msg)",
        "documentation": dedent`# 常用函数-发送GM命令到聊天,[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        msg : 字符串
        `
    },
    {
        "label": "CreateRedPoint",
        "insertText": "SL:CreateRedPoint(targetNode, offset)",
        "documentation": dedent`# 常用函数-创建一个红点到节点,[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        返回红点 widget
        | 字段       | 必选 | 类型   | 注释                        |
        | :--------- | :--- | :----- | :-------------------------- |
        | targetNode | 是   | widget | 目标控件                    |
        | offset     | 否   | table  | 偏移位置 例: {x = 5, y = 5} |
        `
    },
    {
        "label": "SetColorStyle",
        "insertText": "SL:SetColorStyle(widget, colorID)",
        "documentation": dedent`# 常用函数-设置文本样式(按钮、文本),[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        widget ：按钮或者文本对象
        colorID ：0 - 255 色值ID
        `
    },
    {
        "label": "GetColorCfg",
        "insertText": "SL:GetColorCfg(colorID)",
        "documentation": dedent`# 常用函数-获取对应色值ID的配置,[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        `
    },
    {
        "label": "CheckCondition",
        "insertText": "SL:CheckCondition(colorID)",
        "documentation": dedent`# 常用函数-检查是否满足条件,[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        返回值 : true / false
        `
    },
    {
        "label": "AddBubbleTips",
        "insertText": "SL:AddBubbleTips(id, path, callback)",
        "documentation": dedent`# 常用函数-显示气泡提醒,[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        id ：气泡ID
        path：气泡图片资源路径
        callback：气泡点击回调
        `
    },
    {
        "label": "DelBubbleTips",
        "insertText": "SL:DelBubbleTips(ID)",
        "documentation": dedent`# 常用函数-删除气泡提醒,[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        id ：气泡ID
        `
    },
    {
        "label": "ReloadMap",
        "insertText": "SL:ReloadMap()",
        "documentation": dedent`# 常用函数-重新加载地图,[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        
        `
    },
    {
        "label": "HTTPRequestGet",
        "insertText": "SL:HTTPRequestGet(url, httpCB)",
        "documentation": dedent`# 常用函数-请求HTTP Get方式,[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        | 参数名 | 必选 | 类型     | 说明     |
        | :----- | :--- | :------- | :------- |
        | url    | 是   | string   | 链接地址 |
        | httpCB | 是   | function | 回调函数 |

        示例
        local function httpCB(success, response)
            -- success: boolean 请求是否成功
            -- response: string 请求返回数据
        end
        SL:HTTPRequestGet("https://www.baidu.com/", httpCB)
        `
    },
    {
        "label": "HTTPRequestPost",
        "insertText": "SL:HTTPRequestPost(url, httpCB, suffix, head)",
        "documentation": dedent`# 常用函数-请求HTTP Get方式,[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        | 参数名 | 必选 | 类型     | 说明     |
        | :----- | :--- | :------- | -------- |
        | url    | 是   | string   | 链接地址 |
        | httpCB | 是   | function | 回调函数 |
        | suffix | 是   | string   | 请求信息 |
        | head   | 否   | table    | 请求头   |

        示例
        local function httpCB(success, response)
            -- success: boolean 请求是否成功
            -- response: string 请求返回数据
        end
        local suffix = "appid=1&device_id=PCDV-6ct5fzZ&game_id=1&platform=0&type=1&username=wuuhui&sign=30a51e6"
        SL:HTTPRequestPost("https://www.baidu.com/", httpCB, suffix)
        `
    },
    {
        "label": "ShowLocalNoticeByType",
        "insertText": "SL:ShowLocalNoticeByType(data)",
        "documentation": dedent`# 常用函数-本地公告展示 [3.40.3版本],[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        | 参数名 | 必选 | 类型  | 说明         |
        | :----- | :--- | :---- | ------------ |
        | data   | 是   | table | 具体参数配置 |

        参数说明：
        Type             -- 公告类型
        【
        4: 顶部跑马灯公告 (Msg、 FColor、 BColor)  5: 屏幕跑马灯公告 可控制Y轴坐标 (Msg、 FColor、 BColor、 Y、 Count)
        6: 聊天上方公告 (Msg、 FColor、 BColor、 Time、 Label) 9: 普通通用提示 (Msg) 
        10: 可控制X轴Y轴公告  (Msg、 FColor、 BColor、 X、 Y) 11: 屏幕跑马灯公告 (系统公告) (Type、 Msg、 FColor、 BColor) 
        12: 系统频道公告 (Msg、 FColor、 BColor)  13: 带缩放效果的公告 可设置Y轴 (Msg、 FColor、 BColor、Y)
        】
        Msg              -- 提示内容
        FColor           -- 文字色值ID
        BColor           -- 背景色值ID
        X                -- 坐标X
        Y                -- 坐标Y
        Time             -- 倒计时
        Count            -- 播放次数
        Label            -- 响应Link
        `
    },
    {
        "label": "ShakeScene",
        "insertText": "SL:ShakeScene(time, distance)",
        "documentation": dedent`# 常用函数-震屏 [3.40.3版本],[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        | 参数名   | 必选 | 类型 | 说明            |
        | :------- | :--- | :--- | --------------- |
        | time     | 否   | int  | 震动时间 (毫秒) |
        | distance | 否   | int  | 震动距离        |
        例 :
        -- 无参默认 time为700 、distance为10 
        SL:ShakeScene()
        `
    },
    {
        "label": "RegisterWndEvent",
        "insertText": "SL:RegisterWndEvent(widget, desc, msgtype, callback)",
        "documentation": dedent`# 常用函数-游戏事件函数-注册控件事件,[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        | 参数名   | 必选 | 类型     | 说明       |
        | :------- | :--- | :------- | ---------- |
        | widget   | 是   | object   | 控件对象   |
        | msg      | 是   | string   | 描述       |
        | msgtype  | 是   | int      | 窗体事件id |
        | callback | 是   | function | 回调函数   |
        
        窗口事件 msgtype
        WND_EVENT_MOUSE_LB_DOWN             = 1                                         -- 鼠标左键按下事件
        WND_EVENT_MOUSE_LB_UP               = 2                                         -- 鼠标左键弹起事件
        WND_EVENT_MOUSE_LB_CLICK            = 3                                         -- 鼠标左键点击事件
        WND_EVENT_MOUSE_LB_DBCLICK          = 4                                         -- 鼠标左键双击事件
        WND_EVENT_MOUSE_RB_DOWN             = 5                                         -- 鼠标右键按下事件
        WND_EVENT_MOUSE_RB_UP               = 6                                         -- 鼠标右键弹起事件         
        WND_EVENT_MOUSE_RB_CLICK            = 7                                         -- 鼠标右键点击事件
        WND_EVENT_MOUSE_RB_DBCLICK          = 8                                         -- 鼠标右键双击事件
        WND_EVENT_MOUSE_MOVE                = 9                                         -- 鼠标移动事件
        WND_EVENT_MOUSE_WHEEL               = 10                                        -- 鼠标滚轮滚动事件
        WND_EVENT_MOUSE_IN                  = 11                                        -- 鼠标进入控件事件
        WND_EVENT_MOUSE_OUT                 = 12                                        -- 鼠标离开控件事件

        WND_EVENT_WND_VISIBLE               = 21                                        -- 可见状态发生变化事件
        WND_EVENT_WND_POS_CHANGE            = 22                                        -- 控件位置发生变化事件
        WND_EVENT_WND_SIZECHANGE            = 23                                        -- 窗口大小发生变化事件
        WND_EVENT_WND_DESTROY               = 24                                        -- 窗体被销毁事件
        
        示例
        SL:RegisterWndEvent(btn, "npc", WND_EVENT_MOUSE_LB_UP, function()
            SL:Print("2")
        end)
        `
    },
    {
        "label": "UnRegisterWndEvent",
        "insertText": "SL:UnRegisterWndEvent(widget, desc, msgtype)",
        "documentation": dedent`# 常用函数-游戏事件函数-注销控件事件,[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        | 参数名  | 必选 | 类型   | 说明       |
        | :------ | :--- | :----- | ---------- |
        | widget  | 是   | object | 控件对象   |
        | msg     | 是   | string | 描述       |
        | msgtype | 是   | int    | 窗体事件id |
        例 :
        示例
        SL:UnRegisterWndEvent(btn, "npc", WND_EVENT_MOUSE_LB_UP)
        `
    },
    {
        "label": "AddWndProperty",
        "insertText": "SL:AddWndProperty(widget, desc, key, value)",
        "documentation": dedent`# 常用函数-窗体控件自定义属性-添加窗体控件自定义属性 *,[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。

        `
    },
    {
        "label": "DelWndProperty",
        "insertText": "SL:DelWndProperty(widget, desc, key)",
        "documentation": dedent`# 常用函数-窗体控件自定义属性-删除窗体控件自定义属性*,[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。

        `
    },
    {
        "label": "GetWndProperty",
        "insertText": "SL:GetWndProperty(widget, desc, key)",
        "documentation": dedent`# 常用函数-窗体控件自定义属性-获取窗体控件自定义属性*,[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        | 参数名 | 必选 | 类型   | 说明     |
        | :----- | :--- | :----- | -------- |
        | widget | 是   | object | 控件对象 |
        | desc   | 是   | string | 描述     |
        | key    | 是   | string | 属性名称 |
        | value  | 是   | any    | 属性值   |

        *示例*

        SL:AddWndProperty(btn, "test", "key", 1)
        local a = SL:GetWndProperty(btn, "test", "key")
        SL:Print(a, type(a))
        SL:DelWndProperty(btn, "test", "key")
        `
    },
    {
        "label": "Schedule",
        "insertText": "SL:Schedule(callback, time)",
        "documentation": dedent`# 常用函数-定时器-开启一个定时器,[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。

        `
    },
    {
        "label": "UnSchedule",
        "insertText": "SL:UnSchedule(scheduleID)",
        "documentation": dedent`# 常用函数-定时器-停止一个定时器,[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。

        `
    },
    {
        "label": "ScheduleOnce",
        "insertText": "SL:ScheduleOnce(callback, time)",
        "documentation": dedent`# 常用函数-定时器-开启一个单次定时器,[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。

        `
    },
    {
        "label": "schedule",
        "insertText": "SL:schedule(node, callback, time)",
        "documentation": dedent`# 常用函数-定时器-开启一个定时器, 绑定node节点,[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。

        `
    },
    {
        "label": "scheduleOnce",
        "insertText": "SL:scheduleOnce(node, callback, time)",
        "documentation": dedent`# 常用函数-定时器-开启一个单次定时器, 绑定node节点,[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        示例
        local time = 0.5
        local function callback()
            SL:Print("callback...")
        end

        -- 每隔0.5s执行一次 callback
        local sch1 = SL:Schedule(callback, time)

        -- 停止上面的定时器 sch1
        SL:UnSchedule(sch1)

        -- 0.5s后执行一次 callback
        SL:ScheduleOnce(callback, time)

        -- 创建一个Node节点
        local node = GUI:Node_create(parent, "Node", 0 , 0)
        -- node 节点每隔0.5s执行一次 callback
        SL:schedule(node, callback, time)

        -- node 节点0.5s后执行一次 callback
        SL:scheduleOnce(node, callback, time)

        -- node 节点取消定时器操作
        GUI:stopAllActions(node)
        `
    },
    {
        "label": "StartGuide",
        "insertText": "SL:StartGuide(data)",
        "documentation": dedent`# 常用函数-引导相关-打开引导,[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        返回值 : 引导对象
        | 参数名 | 必选 | 类型  | 说明                   |
        | :----- | :--- | :---- | ---------------------- |
        | data   | 是   | table | 数据结构如下, 参考示例 |

        *table特殊参数*
        **mainIdx** — int 如若指引界面加在主界面节点 需要配置对应标识 :
        1 --左上 2 --中上 3 --右上 4 --左下 5 --中下 6 --右下

        示例 1 ：
        local function callback()
            SL:Print("callback".....)
        end
        local data = {}
        data.dir           = 8                -- 方向（1~8）从左按瞬时针
        data.guideWidget   = btn_close        -- 当前节点
        data.guideParent   = _parent          -- 父窗口
        data.guideDesc     = "测试"           -- 文本描述
        data.clickCB       = callback         -- 回调
        data.autoExcute    = 3                -- 自动执行秒数
        data.isForce       = true             -- 强制引导

        SL:StartGuide(data)


        针对引导一些引擎原生界面 必需参数 :

        id — int 提供的原生界面指引ID
        param — int 指引参数 提供的一些原生界面对应位置指引所需参数 比如任务ID

        示例 2 ：
        SL:StartGuide({
            id = 1,                -- 背包引导窗口ID
            param = 2682001,        -- 背包物品唯一ID
            guideDesc = "测试引导"
        })

        `
    },
    {
        "label": "CloseGuide",
        "insertText": "SL:CloseGuide(guide)",
        "documentation": dedent`# 常用函数-定时器-关闭引导,[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        参数 : 传入开始引导返回的 引导对象
        `
    },
    {
        "label": "SetLocalString",
        "insertText": "SL:SetLocalString(key, data)",
        "documentation": dedent`# 常用函数-本地存储-存储字符到本地,[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        存储数据到本地，存储的文件名为：”GUIStorage” + 角色ID
        | 参数名 | 必选 | 类型               | 说明   |
        | :----- | :--- | :----------------- | ------ |
        | key    | 是   | 任意类型           | 字段名 |
        | data   | 是   | table、int、string | 数据   |
        
        示例
        -- 把数据 t 存储到本地配置的 key 字段里
        local t = {
            val1 = "111", val2 = "222"
        }
        local jsonStr = SL:JsonEncode(t)
        SL:SetLocalString("key", jsonStr)
        `
    },
    {
        "label": "GetLocalString",
        "insertText": "SL:GetLocalString(key)",
        "documentation": dedent`# 常用函数-本地存储-从本地读取字符,[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        读取存储到本地的key数据
        返回值 : string
        | 参数名 | 必选 | 类型               | 说明   |
        | :----- | :--- | :----------------- | ------ |
        | key    | 是   | 任意类型           | 字段名 |
        
        示例
        -- 把数据从本地存储配置中取出来
        local data = {}
        local jsonStr = SL:GetLocalString("key")
        if jsonStr and string.len(jsonStr) > 0 then
            local jsonData = SL:JsonDecode(jsonStr)
            if jsonData then
                data = jsonData
            end
        end
        SL:dump( data )
        `
    },
    {
        "label": "RefreshBagPos",
        "insertText": "SL:RefreshBagPos()",
        "documentation": dedent`# 常用函数-背包常用函数 [3.40.2版本]-背包刷新,[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。

        `
    },
    {
        "label": "UseItemByIndex",
        "insertText": "SL:UseItemByIndex(Index)",
        "documentation": dedent`# 常用函数-背包常用函数 [3.40.2版本]-使用物品,[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        | 参数名 | 必选 | 类型 | 说明      |
        | :----- | :--- | :--- | --------- |
        | Index  | 是   | int  | 物品Index |
        `
    },
    {
        "label": "SetBagItemChoose",
        "insertText": "SL:SetBagItemChoose(data)",
        "documentation": dedent`# 常用函数-背包常用函数 [3.40.2版本]-批量勾选背包物品,[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        | 参数名 | 必选 | 类型 | 说明      |
        | :----- | :--- | :--- | --------- |
        | Index  | 是   | table  | 物品唯一ID 数组 |
        `
    },
    {
        "label": "IntoDropBagItem",
        "insertText": "SL:IntoDropBagItem(itemData)",
        "documentation": dedent`# 常用函数-丢弃物品 [3.40.3版本]-批量勾选背包物品,[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        | 参数名 | 必选 | 类型 | 说明      |
        | :----- | :--- | :--- | --------- |
        | itemData  | 是   | table  | 装备数据 |
        `
    },
    {
        "label": "CheckItemUseNeed",
        "insertText": "SL:CheckItemUseNeed(itemData)",
        "documentation": dedent`# 常用函数-装备常用函数-检测人物是否可穿戴,[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        参数： itemData 装备数据
        `
    },
    {
        "label": "CheckItemUseNeed_Hero",
        "insertText": "SL:CheckItemUseNeed_Hero(itemData)",
        "documentation": dedent`# 常用函数-装备常用函数-检测英雄是否可穿戴,[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        参数： itemData 装备数据
        `
    },
    {
        "label": "GetDiffEquip",
        "insertText": "SL:GetDiffEquip(itemData, isHero)",
        "documentation": dedent`# 常用函数-装备常用函数-获得需要比较的装备,[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        | 参数名   | 必选 | 类型    | 说明         |
        | :------- | :--- | :------ | ------------ |
        | itemData | 是   | table   | 装备数据     |
        | isHero   | 否   | boolean | 是否对比英雄 |
        返回值： table, 具体用法参考官方 GUILayout/ItemTips.lua
        `
    },
    {
        "label": "CheckEquipPowerThanSelf",
        "insertText": "SL:CheckEquipPowerThanSelf(itemData, from)",
        "documentation": dedent`# 常用函数-装备常用函数-对比传入装备和自身穿戴的装备,[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        | 参数名   | 必选 | 类型  | 说明                                              |
        | :------- | :--- | :---- | ------------------------------------------------- |
        | itemData | 是   | table | 装备数据                                          |
        | from     | 否   | int   | 物品来自(界面位置), 可参照元变量”ITEMFROMUI_ENUM” |
        *返回值： table
        `
    },
    {
        "label": "TakeOnPlayerEquip",
        "insertText": "SL:TakeOnPlayerEquip(itemData, pos, isFromHero)",
        "documentation": dedent`# 常用函数-装备常用函数-人物装备穿戴 [3.40.2版本],[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        | 参数名     | 必选 | 类型    | 说明             |
        | :--------- | :--- | :------ | ---------------- |
        | itemData   | 是   | table   | 装备数据         |
        | pos        | 是   | int     | 装备位置         |
        | isFromHero | 否   | boolean | 是否来自英雄背包 |
        `
    },
    {
        "label": "TakeOnPlayerEquip",
        "insertText": "SL:TakeOffPlayerEquip(itemData, isToHero)",
        "documentation": dedent`# 常用函数-装备常用函数-人物装备脱下 [3.40.2版本],[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        | 参数名   | 必选 | 类型    | 说明             |
        | :------- | :--- | :------ | ---------------- |
        | itemData | 是   | table   | 装备数据         |
        | isToHero | 否   | boolean | 是否脱到英雄背包 |
        `
    },
    {
        "label": "TakeOnHeroEquip",
        "insertText": "SL:TakeOnHeroEquip(itemData, pos, isFromPlayer)",
        "documentation": dedent`# 常用函数-装备常用函数-英雄装备穿戴 [3.40.2版本],[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        | 参数名       | 必选 | 类型    | 说明             |
        | :----------- | :--- | :------ | ---------------- |
        | itemData     | 是   | table   | 装备数据         |
        | pos          | 是   | int     | 装备位置         |
        | isFromPlayer | 否   | boolean | 是否来自人物背包 |
        `
    },
    {
        "label": "TakeOffHeroEquip",
        "insertText": "SL:TakeOffHeroEquip(itemData, isToPlayer)",
        "documentation": dedent`# 常用函数-装备常用函数-英雄装备脱下 [3.40.2版本],[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        | 参数名     | 必选 | 类型    | 说明             |
        | :--------- | :--- | :------ | ---------------- |
        | itemData   | 是   | table   | 装备数据         |
        | isToPlayer | 否   | boolean | 是否脱到人物背包 |
        `
    },
    {
        "label": "CheckMenuLayerConditionByID",
        "insertText": "SL:CheckMenuLayerConditionByID(layerID)",
        "documentation": dedent`# 常用函数-界面相关 Menulayer,[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        通过 cfg_menulayer 表中的界面ID检测该界面的条件配置，是否满足显示
        | 参数名     | 必选 | 类型    | 说明             |
        | :--------- | :--- | :------ | ---------------- |
        | layerID   | 是   | int   | cfg_menulayer 表中的界面ID         |
        返回值： boolean
        `
    },
    {
        "label": "OpenMenuLayerByID",
        "insertText": "SL:OpenMenuLayerByID(layerID，parent， extent)",
        "documentation": dedent`# 常用函数-界面相关 Menulayer,[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        通过 cfg_menulayer 表中的界面ID打开该界面
        | 参数名  | 必选 | 类型   | 说明                       |
        | :------ | :--- | :----- | -------------------------- |
        | layerID | 是   | int    | cfg_menulayer 表中的界面ID |
        | parent  | 是   | object | 挂接点                     |
        | extent  | 否   | int    | 可选参数                   |
        `
    },
    {
        "label": "CloseMenuLayerByID",
        "insertText": "SL:CloseMenuLayerByID(layerID)",
        "documentation": dedent`# 常用函数-界面相关 Menulayer,[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        通过 cfg_menulayer 表中的界面ID关闭该界面
        | 参数名  | 必选 | 类型 | 说明                       |
        | :------ | :--- | :--- | -------------------------- |
        | layerID | 是   | int  | cfg_menulayer 表中的界面ID |
        返回值： boolean
        `
    },
    {
        "label": "OpenSettingUI",
        "insertText": "SL:OpenSettingUI(pageID)",
        "documentation": dedent`# 常用函数-打开、关闭相关功能界面-设置界面,[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        | 参数名 | 必选 | 类型 | 说明                                                         |
        | :----- | :--- | :--- | ------------------------------------------------------------ |
        | pageID | 否   | int  | 页签ID 不填默认基础设置 1 : 基础设置 2 : 视距 3 : 战斗 4 : 保护 5 : 挂机 6 : 帮助 |
        `
    },
    {
        "label": "CloseSettingUI",
        "insertText": "SL:CloseSettingUI()",
        "documentation": dedent`# 常用函数-打开、关闭相关功能界面-设置界面,[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        `
    },
    {
        "label": "OpenGuildMainUI",
        "insertText": "SL:OpenGuildMainUI(pageID)",
        "documentation": dedent`# 常用函数-打开、关闭相关功能界面-行会界面,[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        | 参数名 | 必选 | 类型 | 说明                                                         |
        | :----- | :--- | :--- | ------------------------------------------------------------ |
        | pageID | 否   | int  | 页签ID 不填默认行会主页 1 : 主页 2 : 成员 3 : 列表 |
        `
    },
    {
        "label": "CloseGuildMainUI",
        "insertText": "SL:CloseGuildMainUI()",
        "documentation": dedent`# 常用函数-打开、关闭相关功能界面-行会界面,[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        `
    },
    {
        "label": "OpenGuildApplyListUI",
        "insertText": "SL:OpenGuildApplyListUI()",
        "documentation": dedent`# 常用函数-打开、关闭相关功能界面-行会申请界面,[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        `
    },
    {
        "label": "CloseGuildApplyListUI",
        "insertText": "SL:CloseGuildApplyListUI()",
        "documentation": dedent`# 常用函数-打开、关闭相关功能界面-行会申请界面,[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        `
    },
    {
        "label": "OpenGuildCreateUI",
        "insertText": "SL:OpenGuildCreateUI()",
        "documentation": dedent`# 常用函数-打开、关闭相关功能界面-行会创建界面,[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        `
    },
    {
        "label": "CloseGuildCreateUI",
        "insertText": "SL:CloseGuildCreateUI()",
        "documentation": dedent`# 常用函数-打开、关闭相关功能界面-行会创建界面,[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        `
    },
    {
        "label": "OpenGuildAllyApplyUI",
        "insertText": "SL:OpenGuildAllyApplyUI()",
        "documentation": dedent`# 常用函数-打开、关闭相关功能界面-行会结盟申请界面,[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        `
    },
    {
        "label": "CloseGuildAllyApplyUI",
        "insertText": "SL:CloseGuildAllyApplyUI()",
        "documentation": dedent`# 常用函数-打开、关闭相关功能界面-行会结盟申请界面,[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        `
    },
    {
        "label": "CloseGuildWarSponsorUI",
        "insertText": "SL:CloseGuildWarSponsorUI()",
        "documentation": dedent`# 常用函数-打开、关闭相关功能界面-行会宣战/结盟界面 [关闭],[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        `
    },
    {
        "label": "OpenBagUI",
        "insertText": "SL:OpenBagUI(data)",
        "documentation": dedent`# 常用函数-打开、关闭相关功能界面-人物背包,[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        | 参数名 | 必选 | 类型  | 说明                                         |
        | :----- | :--- | :---- | -------------------------------------------- |
        | data   | 否   | table | pos : 背包打开位置 bag_page : 背包打开页签ID |
        例:
        local data = {pos = {x = 200, y = 0}, bag_page = 2}
        SL:OpenBagUI(data)
        `
    },
    {
        "label": "CloseBagUI",
        "insertText": "SL:CloseBagUI(data)",
        "documentation": dedent`# 常用函数-打开、关闭相关功能界面-人物背包,[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        `
    },
    {
        "label": "OpenHeroBagUI",
        "insertText": "SL:OpenHeroBagUI()",
        "documentation": dedent`# 常用函数-打开、关闭相关功能界面-英雄背包,[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        `
    },
    {
        "label": "CloseHeroBagUI",
        "insertText": "SL:CloseHeroBagUI()",
        "documentation": dedent`# 常用函数-打开、关闭相关功能界面-英雄背包,[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        `
    },
    {
        "label": "OpenAuctionUI",
        "insertText": "SL:OpenAuctionUI()",
        "documentation": dedent`# 常用函数-打开、关闭相关功能界面-拍卖行,[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        `
    },
    {
        "label": "CloseAuctionUI",
        "insertText": "SL:CloseAuctionUI()",
        "documentation": dedent`# 常用函数-打开、关闭相关功能界面-拍卖行,[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        `
    },
    {
        "label": "OpenStallLayerUI",
        "insertText": "SL:OpenStallLayerUI()",
        "documentation": dedent`# 常用函数-打开、关闭相关功能界面-摆摊界面,[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        `
    },
    {
        "label": "CloseStallLayerUI",
        "insertText": "SL:CloseStallLayerUI()",
        "documentation": dedent`# 常用函数-打开、关闭相关功能界面-摆摊界面,[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        `
    },
    {
        "label": "OpenTradeUI",
        "insertText": "SL:OpenTradeUI()",
        "documentation": dedent`# 常用函数-打开、关闭相关功能界面-玩家交易界面,[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        `
    },
    {
        "label": "CloseTradeUI",
        "insertText": "SL:CloseTradeUI()",
        "documentation": dedent`# 常用函数-打开、关闭相关功能界面-玩家交易界面,[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        `
    },
    {
        "label": "OpenRankUI",
        "insertText": "SL:OpenRankUI(type)",
        "documentation": dedent`# 常用函数-打开、关闭相关功能界面-排行榜,[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        | 参数名 | 必选 | 类型 | 说明            |
        | :----- | :--- | :--- | --------------- |
        | type   | 否   | int  | 打开 指定页签ID |
        `
    },
    {
        "label": "CloseRankUI",
        "insertText": "SL:CloseRankUI()",
        "documentation": dedent`# 常用函数-打开、关闭相关功能界面-排行榜,[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        `
    },
    {
        "label": "OpenChatUI",
        "insertText": "SL:OpenChatUI()",
        "documentation": dedent`# 常用函数-打开、关闭相关功能界面-聊天界面(手机端),[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        `
    },
    {
        "label": "CloseChatUI",
        "insertText": "SL:CloseChatUI()",
        "documentation": dedent`# 常用函数-打开、关闭相关功能界面-聊天界面(手机端),[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        `
    },
    {
        "label": "OpenChatExtendUI",
        "insertText": "SL:OpenChatExtendUI(index)",
        "documentation": dedent`# 常用函数-打开、关闭相关功能界面-聊天扩展框,[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        | 参数名 | 必选 | 类型 | 说明                                         |
        | :----- | :--- | :--- | -------------------------------------------- |
        | index  | 否   | int  | 打开 指定分组 1 : 快捷命令 2 : 表情 3 : 背包 |
        `
    },
    {
        "label": "CloseChatExtendUI",
        "insertText": "SL:CloseChatExtendUI()",
        "documentation": dedent`# 常用函数-打开、关闭相关功能界面-聊天扩展框,[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        `
    },
    {
        "label": "OpenCommunityUI",
        "insertText": "SL:OpenCommunityUI()",
        "documentation": dedent`# 常用函数-打开、关闭相关功能界面-社区帖子 [3.40.3版本],[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        需要后台配置社区地址
        `
    },
    {
        "label": "CloseCommunityUI",
        "insertText": "SL:CloseCommunityUI()",
        "documentation": dedent`# 常用函数-打开、关闭相关功能界面-社区帖子 [3.40.3版本],[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        需要后台配置社区地址
        `
    },
    {
        "label": "OpenTradingBankUI",
        "insertText": "SL:OpenTradingBankUI()",
        "documentation": dedent`# 常用函数-打开、关闭相关功能界面-交易行,[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        `
    },
    {
        "label": "CloseTradingBankUI",
        "insertText": "SL:CloseTradingBankUI()",
        "documentation": dedent`# 常用函数-打开、关闭相关功能界面-交易行,[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        `
    },
    {
        "label": "OpenStoreUI",
        "insertText": "SL:OpenStoreUI(page)",
        "documentation": dedent`# 常用函数-打开、关闭相关功能界面-商城,[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        | 参数名 | 必选 | 类型 | 说明              |
        | :----- | :--- | :--- | ----------------- |
        | page   | 否   | int  | 打开 商城对应分页 |
        `
    },
    {
        "label": "CloseStoreUI",
        "insertText": "SL:CloseStoreUI()",
        "documentation": dedent`# 常用函数-打开、关闭相关功能界面-商城,[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        `
    },
    {
        "label": "OpenStoreDetailUI",
        "insertText": "SL:OpenStoreDetailUI(storeIndex, limitStr)",
        "documentation": dedent`# 常用函数-打开、关闭相关功能界面-商城商品购买框,[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        | 参数名     | 必选 | 类型   | 说明                              |
        | :--------- | :--- | :----- | --------------------------------- |
        | storeIndex | 是   | int    | 商品index cfg_store商城表配置的id |
        | limitStr   | 否   | string | 超出限制购买的提示                |
        `
    },
    {
        "label": "CloseStoreDetailUI",
        "insertText": "SL:CloseStoreDetailUI()",
        "documentation": dedent`# 常用函数-打开、关闭相关功能界面-商城商品购买框,[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        `
    },
    {
        "label": "OpenSkillSettingUI",
        "insertText": "SL:OpenSkillSettingUI(data)",
        "documentation": dedent`# 常用函数-打开、关闭相关功能界面-技能配置界面,[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        | 参数名 | 必选       | 类型  | 说明                              |
        | :----- | :--------- | :---- | --------------------------------- |
        | data   | ！PC端必填 | table | 对应技能数据 打开技能快捷键配置页 |
        `
    },
    {
        "label": "CloseSkillSettingUI",
        "insertText": "SL:CloseSkillSettingUI()",
        "documentation": dedent`# 常用函数-打开、关闭相关功能界面-技能配置界面,[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        `
    },
    {
        "label": "OpenSocialUI",
        "insertText": "SL:OpenSocialUI(page)",
        "documentation": dedent`# 常用函数-打开、关闭相关功能界面-社交,[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        | 参数名 | 必选 | 类型 | 说明                                                    |
        | :----- | :--- | :--- | ------------------------------------------------------- |
        | page   | 否   | int  | 页签ID ( 不填默认1附近 ) 1附近玩家、2组队、3好友、4邮件 |
        `
    },
    {
        "label": "CloseSocialUI",
        "insertText": "SL:CloseSocialUI()",
        "documentation": dedent`# 常用函数-打开、关闭相关功能界面-社交,[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        `
    },
    {
        "label": "OpenResolutionSetUI",
        "insertText": "SL:OpenResolutionSetUI()",
        "documentation": dedent`# 常用函数-打开、关闭相关功能界面-分辨率修改界面(PC端),[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        `
    },
    {
        "label": "CloseResolutionSetUI",
        "insertText": "SL:CloseResolutionSetUI()",
        "documentation": dedent`# 常用函数-打开、关闭相关功能界面-分辨率修改界面(PC端),[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        `
    },
    {
        "label": "OpenMyPlayerUI",
        "insertText": "SL:OpenMyPlayerUI(data)",
        "documentation": dedent`# 常用函数-打开、关闭相关功能界面-玩家角色界面,[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        | 参数名 | 必选 | 类型  | 说明                                                         |
        | :----- | :--- | :---- | ------------------------------------------------------------ |
        | data   | 否   | table | extent: 子页id 1装备、2状态、3属性、4技能、6称号、11时装 isFast: boolen 是否快捷键打开 |
        例 :
        SL:OpenMyPlayerHeroUI({extent = 1})
        `
    },
    {
        "label": "CloseMyPlayerUI",
        "insertText": "SL:CloseMyPlayerUI()",
        "documentation": dedent`# 常用函数-打开、关闭相关功能界面-玩家角色界面,[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        `
    },
    {
        "label": "CloseMyPlayerPageUI",
        "insertText": "SL:CloseMyPlayerPageUI(data)",
        "documentation": dedent`# 常用函数-打开、关闭相关功能界面-玩家角色界面,[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        移除对应子页id内容
        `
    },
    {
        "label": "OpenOtherPlayerUI",
        "insertText": "SL:OpenOtherPlayerUI(data)",
        "documentation": dedent`# 常用函数-打开、关闭相关功能界面-查看他人角色界面,[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        | 参数名 | 必选 | 类型  | 说明                                                     |
        | :----- | :--- | :---- | -------------------------------------------------------- |
        | data   | 否   | table | extent: 子页id 1装备、2状态、3属性、4技能、6称号、11时装 |
        `
    },
    {
        "label": "CloseOtherPlayerUI",
        "insertText": "SL:CloseOtherPlayerUI()",
        "documentation": dedent`# 常用函数-打开、关闭相关功能界面-查看他人角色界面,[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        `
    },
    {
        "label": "CloseOtherPlayerPageUI",
        "insertText": "SL:CloseOtherPlayerPageUI(data)",
        "documentation": dedent`# 常用函数-打开、关闭相关功能界面-查看他人角色界面,[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        移除对应子页id内容
        `
    },
    {
        "label": "OpenMyPlayerHeroUI",
        "insertText": "SL:OpenMyPlayerHeroUI(data)",
        "documentation": dedent`# 常用函数-打开、关闭相关功能界面-英雄角色界面,[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        | 参数名 | 必选 | 类型  | 说明                                                     |
        | :----- | :--- | :---- | -------------------------------------------------------- |
        | data   | 否   | table | extent: 子页id 1装备、2状态、3属性、4技能、6称号、11时装 |
        `
    },
    {
        "label": "CloseMyPlayerHeroUI",
        "insertText": "SL:CloseMyPlayerHeroUI()",
        "documentation": dedent`# 常用函数-打开、关闭相关功能界面-英雄角色界面,[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        `
    },
    {
        "label": "CloseMyPlayerHeroPageUI",
        "insertText": "SL:CloseMyPlayerHeroPageUI(data)",
        "documentation": dedent`# 常用函数-打开、关闭相关功能界面-英雄角色界面,[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        移除对应子页id内容
        `
    },
    {
        "label": "OpenOtherPlayerHeroUI",
        "insertText": "SL:OpenOtherPlayerHeroUI(data)",
        "documentation": dedent`# 常用函数-打开、关闭相关功能界面-查看他人英雄界面,[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        | 参数名 | 必选 | 类型  | 说明                                                     |
        | :----- | :--- | :---- | -------------------------------------------------------- |
        | data   | 否   | table | extent: 子页id 1装备、2状态、3属性、4技能、6称号、11时装 |
        `
    },
    {
        "label": "CloseOtherPlayerHeroUI",
        "insertText": "SL:CloseOtherPlayerHeroUI()",
        "documentation": dedent`# 常用函数-打开、关闭相关功能界面-查看他人英雄界面,[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        `
    },
    {
        "label": "CloseOtherPlayerHeroPageUI",
        "insertText": "SL:CloseOtherPlayerHeroPageUI(data)",
        "documentation": dedent`# 常用函数-打开、关闭相关功能界面-查看他人英雄界面,[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        移除对应子页id内容
        `
    },
    {
        "label": "CloseTradingBankPlayerPageUI",
        "insertText": "SL:CloseTradingBankPlayerPageUI(data)",
        "documentation": dedent`# 常用函数-打开、关闭相关功能界面-交易行查看他人界面,[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        移除他人角色对应子页id内容
        `
    },
    {
        "label": "OpenBestRingBoxUI",
        "insertText": "SL:OpenBestRingBoxUI(param)",
        "documentation": dedent`# 常用函数-打开、关闭相关功能界面-首饰盒界面,[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        | 参数名 | 必选 | 类型 | 说明                                                         |
        | :----- | :--- | :--- | ------------------------------------------------------------ |
        | param  | 是   | int  | param: 1: 自己人物 2：自己英雄 11：其他玩家人物 12：其他玩家英雄 21：交易行人物 22：交易行英雄 |
        `
    },
    {
        "label": "CloseBestRingBoxUI",
        "insertText": "SL:CloseBestRingBoxUI(param)",
        "documentation": dedent`# 常用函数-打开、关闭相关功能界面-交易行查看他人界面,[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        param参数同上
        `
    },
    {
        "label": "OpenPlayerEquipUI",
        "insertText": "SL:OpenPlayerEquipUI(param)",
        "documentation": dedent`# 常用函数-打开、关闭相关功能界面-打开装备面板,[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        | 参数名 | 必选 | 类型 | 说明                                                         |
        | :----- | :--- | :--- | ------------------------------------------------------------ |
        | param  | 是   | int  | param: 1: 自己人物 2：自己英雄 11：其他玩家人物 12：其他玩家英雄 21：交易行人物 22：交易行英雄 |
        `
    },
    {
        "label": "OpenPlayerBaseAttrUI",
        "insertText": "SL:OpenPlayerBaseAttrUI(param)",
        "documentation": dedent`# 常用函数-打开、关闭相关功能界面-打开状态面板,[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        | 参数名 | 必选 | 类型 | 说明                                                         |
        | :----- | :--- | :--- | ------------------------------------------------------------ |
        | param  | 是   | int  | param: 1: 自己人物 2：自己英雄 11：其他玩家人物 12：其他玩家英雄 21：交易行人物 22：交易行英雄 |
        `
    },
    {
        "label": "OpenPlayerExtraAttrUI",
        "insertText": "SL:OpenPlayerExtraAttrUI(param)",
        "documentation": dedent`# 常用函数-打开、关闭相关功能界面-打开属性面板,[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        | 参数名 | 必选 | 类型 | 说明                                                         |
        | :----- | :--- | :--- | ------------------------------------------------------------ |
        | param  | 是   | int  | param: 1: 自己人物 2：自己英雄 11：其他玩家人物 12：其他玩家英雄 21：交易行人物 22：交易行英雄 |
        `
    },
    {
        "label": "OpenPlayerSkillUI",
        "insertText": "SL:OpenPlayerSkillUI(param)",
        "documentation": dedent`# 常用函数-打开、关闭相关功能界面-打开技能面板,[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        | 参数名 | 必选 | 类型 | 说明                                                         |
        | :----- | :--- | :--- | ------------------------------------------------------------ |
        | param  | 是   | int  | param: 1: 自己人物 2：自己英雄 11：其他玩家人物 12：其他玩家英雄 21：交易行人物 22：交易行英雄 |
        `
    },
    {
        "label": "OpenPlayerTitleUI",
        "insertText": "SL:OpenPlayerTitleUI(param)",
        "documentation": dedent`# 常用函数-打开、关闭相关功能界面-打开称号面板,[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        | 参数名 | 必选 | 类型 | 说明                                                         |
        | :----- | :--- | :--- | ------------------------------------------------------------ |
        | param  | 是   | int  | param: 1: 自己人物 2：自己英雄 11：其他玩家人物 12：其他玩家英雄 21：交易行人物 22：交易行英雄 |
        `
    },
    {
        "label": "OpenPlayerSuperEquipUI",
        "insertText": "SL:OpenPlayerSuperEquipUI(param)",
        "documentation": dedent`# 常用函数-打开、关闭相关功能界面-打开时装面板,[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        | 参数名 | 必选 | 类型 | 说明                                                         |
        | :----- | :--- | :--- | ------------------------------------------------------------ |
        | param  | 是   | int  | param: 1: 自己人物 2：自己英雄 11：其他玩家人物 12：其他玩家英雄 21：交易行人物 22：交易行英雄 |
        `
    },
    {
        "label": "OpenPlayerBuffUI",
        "insertText": "SL:OpenPlayerBuffUI(param)",
        "documentation": dedent`# 常用函数-打开、关闭相关功能界面-打开人物BUFF面板 [3.40.6版本],[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        | 参数名 | 必选 | 类型 | 说明                                                         |
        | :----- | :--- | :--- | ------------------------------------------------------------ |
        | param  | 是   | int  | param: 1: 自己人物 2：自己英雄 11：其他玩家人物 12：其他玩家英雄 [英雄BUFF页3.40.8版本新增] |
        `
    },
    {
        "label": "OpenTitleTipsUI",
        "insertText": "SL:OpenTitleTipsUI(data)",
        "documentation": dedent`# 常用函数-打开、关闭相关功能界面-称号提示界面,[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        | 参数名 | 必选 | 类型 | 说明                                                         |
        | :----- | :--- | :--- | ------------------------------------------------------------ |
        | data  | 是   | table  | id: 称号id pos: Tips放置位置 type: 1未激活 2已激活 time: 时间 |
        `
    },
    {
        "label": "CloseTitleTipsUI",
        "insertText": "SL:CloseTitleTipsUI()",
        "documentation": dedent`# 常用函数-打开、关闭相关功能界面-称号提示界面,[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        `
    },
    {
        "label": "CloseTradingBankLookPanelUI",
        "insertText": "SL:CloseTradingBankLookPanelUI()",
        "documentation": dedent`# 常用函数-打开、关闭相关功能界面-关闭交易行查看他人容器,[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        `
    },
    {
        "label": "CloseTradingBankLookInfoUI",
        "insertText": "SL:CloseTradingBankLookInfoUI()",
        "documentation": dedent`# 常用函数-打开、关闭相关功能界面-关闭交易行查看他人界面,[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        `
    },
    {
        "label": "OpenTeamInvite",
        "insertText": "SL:OpenTeamInvite()",
        "documentation": dedent`# 常用函数-打开、关闭相关功能界面-邀请组队界面,[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        `
    },
    {
        "label": "CloseTeamInvite",
        "insertText": "SL:CloseTeamInvite()",
        "documentation": dedent`# 常用函数-打开、关闭相关功能界面-邀请组队界面,[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        `
    },
    {
        "label": "OpenTeamApply",
        "insertText": "SL:OpenTeamApply()",
        "documentation": dedent`# 常用函数-打开、关闭相关功能界面-入队申请列表页,[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        `
    },
    {
        "label": "CloseTeamApply",
        "insertText": "SL:CloseTeamApply()",
        "documentation": dedent`# 常用函数-打开、关闭相关功能界面-入队申请列表页,[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        `
    },
    {
        "label": "OpenMiniMap",
        "insertText": "SL:OpenMiniMap()",
        "documentation": dedent`# 常用函数-打开、关闭相关功能界面-小地图界面,[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        `
    },
    {
        "label": "CloseMiniMap",
        "insertText": "SL:CloseMiniMap()",
        "documentation": dedent`# 常用函数-打开、关闭相关功能界面-小地图界面,[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        `
    },
    {
        "label": "OpenGuideEnter",
        "insertText": "SL:OpenGuideEnter(param)",
        "documentation": dedent`# 常用函数-打开、关闭相关功能界面-主界面技能按钮区域切换显示,[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        `
    },
    {
        "label": "CloseGuideEnter",
        "insertText": "SL:CloseGuideEnter()",
        "documentation": dedent`# 常用函数-打开、关闭相关功能界面-主界面技能按钮区域切换显示,[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        `
    },
    {
        "label": "OpenReinAttrUI",
        "insertText": "SL:OpenReinAttrUI()",
        "documentation": dedent`# 常用函数-打开、关闭相关功能界面-转生点分配界面,[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        `
    },
    {
        "label": "CloseReinAttrUI",
        "insertText": "SL:CloseReinAttrUI()",
        "documentation": dedent`# 常用函数-打开、关闭相关功能界面-转生点分配界面,[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        `
    },
    {
        "label": "OpenAssistUI",
        "insertText": "SL:OpenAssistUI()",
        "documentation": dedent`# 常用函数-打开、关闭相关功能界面-任务栏收缩切换,[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        `
    },
    {
        "label": "CloseAssistUI",
        "insertText": "SL:CloseAssistUI()",
        "documentation": dedent`# 常用函数-打开、关闭相关功能界面-任务栏收缩切换,[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        `
    },
    {
        "label": "OpenMiniMapChangeUI",
        "insertText": "SL:OpenMiniMapChangeUI()",
        "documentation": dedent`# 常用函数-打开、关闭相关功能界面-主界面小地图收缩切换[手机端],[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        `
    },
    {
        "label": "CloseMiniMapChangeUI",
        "insertText": "SL:CloseMiniMapChangeUI()",
        "documentation": dedent`# 常用函数-打开、关闭相关功能界面-主界面小地图收缩切换[手机端],[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        `
    },
    {
        "label": "OpenMainNearUI",
        "insertText": "SL:OpenMainNearUI()",
        "documentation": dedent`# 常用函数-打开、关闭相关功能界面-附近展示页,[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        `
    },
    {
        "label": "CloseMainNearUI",
        "insertText": "SL:CloseMainNearUI()",
        "documentation": dedent`# 常用函数-打开、关闭相关功能界面-附近展示页,[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        `
    },
    {
        "label": "OpenCallPayUI",
        "insertText": "SL:OpenCallPayUI()",
        "documentation": dedent`# 常用函数-打开、关闭相关功能界面-直接调用支付,[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        `
    },
    {
        "label": "OpenKefuUI",
        "insertText": "SL:OpenKefuUI()",
        "documentation": dedent`# 常用函数-打开、关闭相关功能界面-打开客服UI,[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        `
    },
    {
        "label": "OpenPCPrivateUI",
        "insertText": "SL:OpenPCPrivateUI()",
        "documentation": dedent`# 常用函数-打开、关闭相关功能界面-PC端私聊界面,[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        `
    },
    {
        "label": "ClosePCPrivateUI",
        "insertText": "SL:ClosePCPrivateUI()",
        "documentation": dedent`# 常用函数-打开、关闭相关功能界面-PC端私聊界面,[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        `
    },
    {
        "label": "OpenPCMiniMapUI",
        "insertText": "SL:OpenPCMiniMapUI()",
        "documentation": dedent`# 常用函数-打开、关闭相关功能界面-PC端小地图变换,[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        `
    },
    {
        "label": "OpenAddFriendUI",
        "insertText": "SL:OpenAddFriendUI()",
        "documentation": dedent`# 常用函数-打开、关闭相关功能界面-添加好友界面,[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        `
    },
    {
        "label": "CloseAddFriendUI",
        "insertText": "SL:CloseAddFriendUI()",
        "documentation": dedent`# 常用函数-打开、关闭相关功能界面-添加好友界面,[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        `
    },
    {
        "label": "OpenAddBlackListUI",
        "insertText": "SL:OpenAddBlackListUI()",
        "documentation": dedent`# 常用函数-打开、关闭相关功能界面-添加黑名单界面,[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        `
    },
    {
        "label": "CloseAddBlackListUI",
        "insertText": "SL:CloseAddBlackListUI()",
        "documentation": dedent`# 常用函数-打开、关闭相关功能界面-添加黑名单界面,[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        `
    },
    {
        "label": "OpenFriendApplyUI",
        "insertText": "SL:OpenFriendApplyUI()",
        "documentation": dedent`# 常用函数-打开、关闭相关功能界面-好友添加申请页,[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        `
    },
    {
        "label": "CloseFriendApplyUI",
        "insertText": "SL:CloseFriendApplyUI()",
        "documentation": dedent`# 常用函数-打开、关闭相关功能界面-好友添加申请页,[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        `
    },
    {
        "label": "OpenAuctionWorldUI",
        "insertText": "SL:OpenAuctionWorldUI(parent, source)",
        "documentation": dedent`# 常用函数-打开、关闭相关功能界面-拍卖行-世界拍卖/行会拍卖,[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        | 参数名 | 必选 | 类型   | 说明                         |
        | :----- | :--- | :----- | ---------------------------- |
        | parent | 是   | widget | 挂接父节点                   |
        | source | 是   | int    | 类别 0: 世界拍卖 1: 行会拍卖 |
        `
    },
    {
        "label": "CloseAuctionWorldUI",
        "insertText": "SL:CloseAuctionWorldUI()",
        "documentation": dedent`# 常用函数-打开、关闭相关功能界面-拍卖行-世界拍卖/行会拍卖,[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        `
    },
    {
        "label": "OpenAuctionBiddingUI",
        "insertText": "SL:OpenAuctionBiddingUI(parent)",
        "documentation": dedent`# 常用函数-打开、关闭相关功能界面-拍卖行-我的竞拍,[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        | 参数名 | 必选 | 类型   | 说明       |
        | :----- | :--- | :----- | ---------- |
        | parent | 是   | widget | 挂接父节点 |
        `
    },
    {
        "label": "CloseAuctionBiddingUI",
        "insertText": "SL:CloseAuctionBiddingUI()",
        "documentation": dedent`# 常用函数-打开、关闭相关功能界面-拍卖行-世界拍卖/行会拍卖,[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        `
    },
    {
        "label": "OpenAuctionPutListUI",
        "insertText": "SL:OpenAuctionPutListUI(parent)",
        "documentation": dedent`# 常用函数-打开、关闭相关功能界面-拍卖行-我的上架,[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        | 参数名 | 必选 | 类型   | 说明       |
        | :----- | :--- | :----- | ---------- |
        | parent | 是   | widget | 挂接父节点 |
        `
    },
    {
        "label": "CloseAuctionPutListUI",
        "insertText": "SL:CloseAuctionPutListUI()",
        "documentation": dedent`# 常用函数-打开、关闭相关功能界面-拍卖行-我的上架,[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        `
    },
    {
        "label": "OpenAuctionPutinUI",
        "insertText": "SL:OpenAuctionPutinUI(itemData)",
        "documentation": dedent`# 常用函数-打开、关闭相关功能界面-拍卖行上架界面,[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        | 参数名 | 必选 | 类型   | 说明       |
        | :----- | :--- | :----- | ---------- |
        | itemData | 是   | table | 背包物品数据 |
        `
    },
    {
        "label": "CloseAuctionPutinUI",
        "insertText": "SL:CloseAuctionPutinUI()",
        "documentation": dedent`# 常用函数-打开、关闭相关功能界面-拍卖行上架界面,[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        `
    },
    {
        "label": "OpenAuctionPutoutUI",
        "insertText": "SL:OpenAuctionPutoutUI(item)",
        "documentation": dedent`# 常用函数-打开、关闭相关功能界面-拍卖行下架界面,[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        | 参数名 | 必选 | 类型   | 说明       |
        | :----- | :--- | :----- | ---------- |
        | item | 是   | table | 拍卖行上架的物品数据 |
        `
    },
    {
        "label": "CloseAuctionPutoutUI",
        "insertText": "SL:CloseAuctionPutoutUI()",
        "documentation": dedent`# 常用函数-打开、关闭相关功能界面-拍卖行下架界面,[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        `
    },
    {
        "label": "OpenAuctionBidUI",
        "insertText": "SL:OpenAuctionBidUI(item)",
        "documentation": dedent`# 常用函数-打开、关闭相关功能界面-拍卖行竞拍界面,[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        | 参数名 | 必选 | 类型   | 说明       |
        | :----- | :--- | :----- | ---------- |
        | item | 是   | table | 拍卖行上架的物品数据 |
        `
    },
    {
        "label": "CloseAuctionBidUI",
        "insertText": "SL:CloseAuctionBidUI()",
        "documentation": dedent`# 常用函数-打开、关闭相关功能界面-拍卖行竞拍界面,[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        `
    },
    {
        "label": "OpenAuctionBuyUI",
        "insertText": "SL:OpenAuctionBuyUI(item)",
        "documentation": dedent`# 常用函数-打开、关闭相关功能界面-拍卖行一口价界面,[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        | 参数名 | 必选 | 类型   | 说明       |
        | :----- | :--- | :----- | ---------- |
        | item | 是   | table | 拍卖行上架的物品数据 |
        `
    },
    {
        "label": "CloseAuctionBuyUI",
        "insertText": "SL:CloseAuctionBuyUI()",
        "documentation": dedent`# 常用函数-打开、关闭相关功能界面-拍卖行一口价界面,[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        `
    },
    {
        "label": "OpenAuctionTimeoutUI",
        "insertText": "SL:OpenAuctionTimeoutUI(item)",
        "documentation": dedent`# 常用函数-打开、关闭相关功能界面-拍卖行一口价界面,[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        | 参数名 | 必选 | 类型   | 说明       |
        | :----- | :--- | :----- | ---------- |
        | item | 是   | table | 拍卖行上架的物品数据 |
        `
    },
    {
        "label": "CloseAuctionTimeoutUI",
        "insertText": "SL:CloseAuctionTimeoutUI()",
        "documentation": dedent`# 常用函数-打开、关闭相关功能界面-拍卖行一口价界面,[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        `
    },
    {
        "label": "OpenCompoundItemsUI",
        "insertText": "SL:OpenCompoundItemsUI()",
        "documentation": dedent`# 常用函数-打开、关闭相关功能界面-合成界面,[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        `
    },
    {
        "label": "CloseCompoundItemsUI",
        "insertText": "SL:CloseCompoundItemsUI()",
        "documentation": dedent`# 常用函数-打开、关闭相关功能界面-合成界面,[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        `
    },
    {
        "label": "OpenBossTipsUI",
        "insertText": "SL:OpenBossTipsUI()",
        "documentation": dedent`# 常用函数-打开、关闭相关功能界面-设置界面,[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        `
    },
    {
        "label": "CloseBossTipsUI",
        "insertText": "SL:CloseBossTipsUI()",
        "documentation": dedent`# 常用函数-打开、关闭相关功能界面-设置界面,[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        `
    },
    {
        "label": "OpenPickSettingUI",
        "insertText": "SL:OpenPickSettingUI()",
        "documentation": dedent`# 常用函数-打开、关闭相关功能界面-拾取列表-设置界面,[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        `
    },
    {
        "label": "ClosePickSettingUI",
        "insertText": "SL:ClosePickSettingUI()",
        "documentation": dedent`# 常用函数-打开、关闭相关功能界面-拾取列表-设置界面,[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        `
    },
    {
        "label": "OpenProtectSettingUI",
        "insertText": "SL:OpenProtectSettingUI(data)",
        "documentation": dedent`# 常用函数-打开、关闭相关功能界面-保护配置-设置界面,[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        | 参数名 | 必选 | 类型   | 说明       |
        | :----- | :--- | :----- | ---------- |
        | data | 是   | table | cfg_setup对应保护配置 |
        `
    },
    {
        "label": "CloseProtectSettingUI",
        "insertText": "SL:CloseProtectSettingUI()",
        "documentation": dedent`# 常用函数-打开、关闭相关功能界面-保护配置-设置界面,[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        `
    },
    {
        "label": "OpenAddNameUI",
        "insertText": "SL:OpenAddNameUI(data)",
        "documentation": dedent`# 常用函数-打开、关闭相关功能界面-增加怪物名字-设置界面,[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        | 参数名 | 必选 | 类型   | 说明       |
        | :----- | :--- | :----- | ---------- |
        | data | 是   | table | ignoreName: boolean 是否是挂机忽略名字 |
        `
    },
    {
        "label": "CloseAddNameUI",
        "insertText": "SL:CloseAddNameUI()",
        "documentation": dedent`# 常用函数-打开、关闭相关功能界面-增加怪物名字-设置界面,[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        `
    },
    {
        "label": "OpenAddBossTypeUI",
        "insertText": "SL:OpenAddBossTypeUI()",
        "documentation": dedent`# 常用函数-打开、关闭相关功能界面-增加BOSS类型-设置界面,[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        `
    },
    {
        "label": "CloseAddBossTypeUI",
        "insertText": "SL:CloseAddBossTypeUI()",
        "documentation": dedent`# 常用函数-打开、关闭相关功能界面-增加BOSS类型-设置界面,[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        `
    },
    {
        "label": "OpenSkillRankPanelUI",
        "insertText": "SL:OpenSkillRankPanelUI(data)",
        "documentation": dedent`# 常用函数-打开、关闭相关功能界面-技能排行-设置界面,[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        | 参数名 | 必选 | 类型   | 说明       |
        | :----- | :--- | :----- | ---------- |
        | data | 是   | table | cfg_setup对应保护配置 |
        `
    },
    {
        "label": "CloseSkillRankPanelUI",
        "insertText": "SL:CloseSkillRankPanelUI(data)",
        "documentation": dedent`# 常用函数-打开、关闭相关功能界面-技能排行-设置界面,[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        `
    },
    {
        "label": "OpenSkillPanelUI",
        "insertText": "SL:OpenSkillPanelUI()",
        "documentation": dedent`# 常用函数-打开、关闭相关功能界面-新增技能-设置界面,[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        `
    },
    {
        "label": "CloseSkillPanelUI",
        "insertText": "SL:CloseSkillPanelUI()",
        "documentation": dedent`# 常用函数-打开、关闭相关功能界面-新增技能-设置界面,[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        `
    },
    {
        "label": "OpenSelectListUI",
        "insertText": "SL:OpenSelectListUI(list, position, cellwidth, cellheight, func)",
        "documentation": dedent`# 常用函数-打开、关闭相关功能界面-选择下拉框,[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        | 参数名     | 必选 | 类型     | 说明                       |
        | :--------- | :--- | :------- | -------------------------- |
        | list       | 是   | table    | 下拉要显示的内容           |
        | position   | 是   | table    | 初始位置                   |
        | cellwidth  | 否   | int      | 单条cell的宽               |
        | cellheight | 否   | int      | 单条cell的高               |
        | func       | 否   | function | 回调 选中的编号1~n 0是关闭 |
        `
    },
    {
        "label": "CloseSelectListUI",
        "insertText": "SL:CloseSelectListUI()",
        "documentation": dedent`# 常用函数-打开、关闭相关功能界面-选择下拉框,[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        `
    },
    {
        "label": "OpenBox996UI",
        "insertText": "SL:OpenBox996UI(index)",
        "documentation": dedent`# 常用函数-打开、关闭相关功能界面-996盒子界面,[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        | 参数名     | 必选 | 类型     | 说明                       |
        | :--------- | :--- | :------- | -------------------------- |
        | index       | 否 [ 3.40.4版本新增参数 ]   | int    | 盒子打开默认分页id 1: 特权称号 2: 每日礼包 3: 超级礼包 4: 会员礼包 5: SVIP           |
        `
    },
    {
        "label": "CloseBox996UI",
        "insertText": "SL:CloseBox996UI()",
        "documentation": dedent`# 常用函数-打开、关闭相关功能界面-996盒子界面,[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        `
    },
    {
        "label": "OpenHeroStateSelectUI",
        "insertText": "SL:OpenHeroStateSelectUI(data)",
        "documentation": dedent`# 常用函数-打开、关闭相关功能界面-英雄状态选择界面,[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        `
    },
    {
        "label": "CloseHeroStateSelectUI",
        "insertText": "SL:CloseHeroStateSelectUI(data)",
        "documentation": dedent`# 常用函数-打开、关闭相关功能界面-英雄状态选择界面,[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        `
    },
    {
        "label": "OpenAutoUseTip",
        "insertText": "SL:OpenAutoUseTip(itemData, equipPos, isBook, isHero)",
        "documentation": dedent`# 常用函数-打开、关闭相关功能界面-打开快捷使用框,[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        | 参数名   | 必选 | 类型    | 说明                       |
        | :------- | :--- | :------ | -------------------------- |
        | itemData | 是   | table   | 真实物品数据               |
        | equipPos | 否   | int     | 物品为装备时装戴的装备位置 |
        | isBook   | 否   | boolean | 是否是技能书               |
        | isHero   | 否   | boolean | 是否为英雄                 |
        `
    },
    {
        "label": "CloseAutoUseTip",
        "insertText": "SL:CloseAutoUseTip(makeIndex, isHero)",
        "documentation": dedent`# 常用函数-打开、关闭相关功能界面-关闭快捷使用框,[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        | 参数名    | 必选 | 类型    | 说明       |
        | :-------- | :--- | :------ | ---------- |
        | makeIndex | 是   | int     | 物品唯一ID |
        | isHero    | 否   | boolean | 是否为英雄 |
        `
    },
    {
        "label": "OpenTreasureBoxShow",
        "insertText": "SL:OpenTreasureBoxShow(itemData)",
        "documentation": dedent`# 常用函数-打开、关闭相关功能界面-开宝箱动画页 [3.40.3版本],[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        | 参数名     | 必选 | 类型     | 说明                       |
        | :--------- | :--- | :------- | -------------------------- |
        | itemData       | 是   | table    | 宝箱物品数据  |
        `
    },
    {
        "label": "CloseTreasureBoxShow",
        "insertText": "SL:CloseTreasureBoxShow()",
        "documentation": dedent`# 常用函数-打开、关闭相关功能界面-开宝箱动画页 [3.40.3版本],[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        `
    },
    {
        "label": "OpenGoldBoxUI",
        "insertText": "SL:OpenGoldBoxUI(itemData)",
        "documentation": dedent`# 常用函数-打开、关闭相关功能界面-宝箱奖励界面 [3.40.3版本],[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        | 参数名     | 必选 | 类型     | 说明                       |
        | :--------- | :--- | :------- | -------------------------- |
        | itemData       | 是   | table    | 宝箱物品数据  |
        `
    },
    {
        "label": "CloseGoldBoxUI",
        "insertText": "SL:CloseGoldBoxUI()",
        "documentation": dedent`# 常用函数-打开、关闭相关功能界面-宝箱奖励界面 [3.40.3版本],[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        `
    },
    {
        "label": "OpenPlayDice",
        "insertText": "SL:OpenPlayDice(data)",
        "documentation": dedent`# 常用函数-打开、关闭相关功能界面-摇骰子界面 [3.40.4版本],[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        | 参数名     | 必选 | 类型     | 说明                       |
        | :--------- | :--- | :------- | -------------------------- |
        | data       | 是   | table    | 字段说明如下  |

        {
            arr = table 投掷值 {xx, xx}
            count = 数量
            callback = @xxx 脚本触发
        }
        `
    },
    {
        "label": "ClosePlayDice",
        "insertText": "SL:ClosePlayDice()",
        "documentation": dedent`# 常用函数-打开、关闭相关功能界面-摇骰子界面 [3.40.4版本],[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        `
    },
    {
        "label": "OpenPurchaseUI",
        "insertText": "SL:OpenPurchaseUI()",
        "documentation": dedent`# 常用函数-打开、关闭相关功能界面-求购界面 [3.40.5版本],[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        `
    },
    {
        "label": "ClosePurchaseUI",
        "insertText": "SL:ClosePurchaseUI()",
        "documentation": dedent`# 常用函数-打开、关闭相关功能界面-求购界面 [3.40.5版本],[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        `
    },
    {
        "label": "OpenPurchaseWorldUI",
        "insertText": "SL:OpenPurchaseWorldUI(parent)",
        "documentation": dedent`# 常用函数-打开、关闭相关功能界面-求购 - 世界求购 [3.40.5版本],[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        | 参数名     | 必选 | 类型     | 说明                       |
        | :--------- | :--- | :------- | -------------------------- |
        | parent       | 是   | widget    | 	挂接父节点  |
        `
    },
    {
        "label": "ClosePurchaseWorldUI",
        "insertText": "SL:ClosePurchaseWorldUI()",
        "documentation": dedent`# 常用函数-打开、关闭相关功能界面-求购 - 世界求购 [3.40.5版本],[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        `
    },
    {
        "label": "OpenPurchaseMyUI",
        "insertText": "SL:OpenPurchaseMyUI(parent)",
        "documentation": dedent`# 常用函数-打开、关闭相关功能界面-求购 - 我的求购 [3.40.5版本],[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        | 参数名     | 必选 | 类型     | 说明                       |
        | :--------- | :--- | :------- | -------------------------- |
        | parent       | 是   | widget    | 	挂接父节点  |
        `
    },
    {
        "label": "ClosePurchaseMyUI",
        "insertText": "SL:ClosePurchaseMyUI()",
        "documentation": dedent`# 常用函数-打开、关闭相关功能界面-求购 - 我的求购 [3.40.5版本],[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        `
    },
    {
        "label": "OpenPurchaseSellUI",
        "insertText": "SL:OpenPurchaseSellUI(data)",
        "documentation": dedent`# 常用函数-打开、关闭相关功能界面-求购出售页 [3.40.5版本],[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        | 参数名     | 必选 | 类型     | 说明                       |
        | :--------- | :--- | :------- | -------------------------- |
        | parent       | 是   | table    | 	单条世界求购数据  |
        `
    },
    {
        "label": "ClosePurchaseSellUI",
        "insertText": "SL:ClosePurchaseSellUI()",
        "documentation": dedent`# 常用函数-打开、关闭相关功能界面-求购出售页 [3.40.5版本],[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        `
    },
    {
        "label": "OpenPurchasePutInUI",
        "insertText": "SL:OpenPurchasePutInUI()",
        "documentation": dedent`# 常用函数-打开、关闭相关功能界面-求购上架页 [3.40.5版本],[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        `
    },
    {
        "label": "ClosePurchasePutInUI",
        "insertText": "SL:ClosePurchasePutInUI()",
        "documentation": dedent`# 常用函数-打开、关闭相关功能界面-求购上架页 [3.40.5版本],[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        `
    },
    {
        "label": "CloseStorageUI",
        "insertText": "SL:CloseStorageUI()",
        "documentation": dedent`# 常用函数-打开、关闭相关功能界面-仓库 - 关闭,[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        `
    },
    {
        "label": "OpenCommonDescTipsPop",
        "insertText": "SL:OpenCommonDescTipsPop(data)",
        "documentation": dedent`# 常用函数-打开、关闭相关功能界面-通用描述Tips,[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        | 参数名 | 必选 | 类型  | 说明                                                         |
        | :----- | :--- | :---- | ------------------------------------------------------------ |
        | data   | 是   | table | str: 描述内容 worldPos: 提示位置 width: 描述内容宽度 anchorPoint: 锚点 formatWay: 设置为1 解析富文本格式: <font></font>[！否则默认解析老脚本富文本<RText/FCOLOR=254>] |
        
        local data = {width = 1136, str = "测试文本", worldPos = {x = 568, y = 320}, anchorPoint = {x = 0, y = 1}}
        SL:OpenCommonDescTipsPop(data)
        `
    },
    {
        "label": "CloseCommonDescTipsPop",
        "insertText": "SL:CloseCommonDescTipsPop()",
        "documentation": dedent`# 常用函数-打开、关闭相关功能界面-通用描述Tips,[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        `
    },
    {
        "label": "OpenCommonTipsPop",
        "insertText": "SL:OpenCommonTipsPop(data)",
        "documentation": dedent`# 常用函数-打开、关闭相关功能界面-通用弹窗,[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        | 参数名 | 必选 | 类型  | 说明                                                         |
        | :----- | :--- | :---- | ------------------------------------------------------------ |
        | data   | 是   | table | str: 文本 btnType: 按钮类型 int 1:”确定” 2:{“确定”,”取消”} btnDesc: 按钮描述 table showEdit: 是否显示输入框 editParams: 输入框参数table { inputMode: 键盘编辑类型, maxLength: 可输入最大长度, str: 默认文本内容} callback: 按钮回调 [参数1: 点击的按钮id 参数2: 额外参数 table: {editStr=输入框字符串}] |
        
        例 :
        local data = {}
        data.str = "请输入邀请玩家的名字"
        data.btnType = 2
        data.showEdit = true
        data.callback = function(atype, param)
            if atype == 1 then
                if param and param.editStr and string.len(param.editStr) > 0 then
                    SL:RequestInviteJoinTeam(nil, param.editStr)
                end
            end
        end
        SL:OpenCommonTipsPop(data)
        `
    },
    {
        "label": "CloseCommonTipsPop",
        "insertText": "SL:CloseCommonTipsPop()",
        "documentation": dedent`# 常用函数-打开、关闭相关功能界面-通用弹窗,[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        `
    },
    {
        "label": "OpenItemTips",
        "insertText": "SL:OpenItemTips(data)",
        "documentation": dedent`# 常用函数-打开、关闭相关功能界面-道具装备Tips,[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        | 参数名 | 必选 | 类型  | 说明                                                         |
        | :----- | :--- | :---- | ------------------------------------------------------------ |
        | data   | 是   | table | itemData: 物品数据 pos: 提示位置 from:非必要 物品来自(界面位置), 可参照元变量ITEMFROMUI_ENUM |
        `
    },
    {
        "label": "CloseItemTips",
        "insertText": "SL:CloseItemTips()",
        "documentation": dedent`# 常用函数-打开、关闭相关功能界面-道具装备Tips,[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        `
    },
    {
        "label": "OpenItemSplitPop",
        "insertText": "SL:OpenItemSplitPop(itemData)",
        "documentation": dedent`# 常用函数-打开、关闭相关功能界面-道具拆分弹窗,[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        | 参数名 | 必选 | 类型  | 说明                                                         |
        | :----- | :--- | :---- | ------------------------------------------------------------ |
        | itemData   | 是   | table | 物品数据 |
        `
    },
    {
        "label": "CloseItemSplitPop",
        "insertText": "SL:CloseItemSplitPop()",
        "documentation": dedent`# 常用函数-打开、关闭相关功能界面-道具拆分弹窗,[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        `
    },
    {
        "label": "OpenFuncDockTips",
        "insertText": "SL:OpenFuncDockTips(data)",
        "documentation": dedent`# 常用函数-打开、关闭相关功能界面-通用功能选择提示,[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        | 参数名 | 必选 | 类型  | 说明                                                         |
        | :----- | :--- | :---- | ------------------------------------------------------------ |
        | data   | 是   | table | 参数说明: type : 类型 可参照元变量DOCKTYPE_NENUM targetId : 选中目标id targetName :目标名称 pos : 展示位置 |
        示例可参照 MainTarget文件内 点击查看菜单功能。
        `
    },
    {
        "label": "CloseFuncDockTips",
        "insertText": "SL:CloseFuncDockTips()",
        "documentation": dedent`# 常用函数-打开、关闭相关功能界面-通用功能选择提示,[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        `
    },
    {
        "label": "OpenProgressBarUI",
        "insertText": "SL:OpenProgressBarUI(data)",
        "documentation": dedent`# 常用函数-打开、关闭相关功能界面-NPC进度条提示 [3.40.3版本],[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        | 参数名 | 必选 | 类型  | 说明                                                         |
        | :----- | :--- | :---- | ------------------------------------------------------------ |
        | data   | 是   | table | 参数说明: time : 时间 msg : 显示内容 |
        示例可参照 MainTarget文件内 点击查看菜单功能。
        `
    },
    {
        "label": "CloseProgressBarUI",
        "insertText": "SL:CloseProgressBarUI()",
        "documentation": dedent`# 常用函数-打开、关闭相关功能界面-NPC进度条提示 [3.40.3版本],[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        `
    },
    {
        "label": "OpenCommonBubbleInfo",
        "insertText": "SL:OpenCommonBubbleInfo(data)",
        "documentation": dedent`# 常用函数-打开、关闭相关功能界面-多条选项弹窗提示 [3.40.3版本],[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        | 参数名 | 必选 | 类型  | 说明                                                         |
        | :----- | :--- | :---- | ------------------------------------------------------------ |
        | data   | 是   | table | 参数说明:pos : 坐标list : 多条选项列表[单条数据参考:{str = 文本, agreeCall = 同意按钮回调(function), disAgreeCall = 拒绝回调(function)}] |
        `
    },
    {
        "label": "CloseCommonBubbleInfo",
        "insertText": "SL:CloseCommonBubbleInfo()",
        "documentation": dedent`# 常用函数-打开、关闭相关功能界面-多条选项弹窗提示 [3.40.3版本],[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        例 :
        local tt = {
            [1] = "11111",
            [2] = "22222",
            [3] = "33333",
        }

        local data = {}
        data.pos = {x = 200, y = 400}
        data.list = {}
        for _, v in pairs(tt) do
            local info = {}
            info.str = v
            info.agreeCall = function()
                SL:Print("AgreeCall____" .. v)
            end
            info.disAgreeCall = function()
                SL:Print("disAgreeCall___" .. v)
            end
            table.insert(data.list, info)
        end
        SL:OpenCommonBubbleInfo(data)
        `
    },
    {
        "label": "ReviewGift",
        "insertText": "SL:ReviewGift()",
        "documentation": dedent`# 常用函数-打开、关闭相关功能界面-打开好评有礼 [3.40.3版本],[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        | 参数名 | 必选 | 类型  | 说明                                                         |
        | :----- | :--- | :---- | ------------------------------------------------------------ |
        | data   | 是   | table | 参数说明:pos : 坐标list : 多条选项列表[单条数据参考:{str = 文本, agreeCall = 同意按钮回调(function), disAgreeCall = 拒绝回调(function)}] |
        `
    },
    {
        "label": "OpenURL",
        "insertText": "SL:OpenURL(url)",
        "documentation": dedent`# 常用函数-打开、关闭相关功能界面-打开网址/链接 [3.40.3版本],[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        | 参数名 | 必选 | 类型  | 说明                                                         |
        | :----- | :--- | :---- | ------------------------------------------------------------ |
        | url   | 是   | string | 网址/链接 |
        示例
        SL:OpenURL("https://www.baidu.com/")
        `
    },
    {
        "label": "GetColorByStyleId",
        "insertText": "SL:GetColorByStyleId(id)",
        "documentation": dedent`# 常用函数-颜色,[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        把 cfg_colour_style 表中的对应 id 的颜色转换成 RGB 格式
        | 参数名 | 必选 | 类型 | 说明                           |
        | :----- | :--- | :--- | ------------------------------ |
        | id     | 是   | int  | cfg_colour_style 表中的对应 id |
        返回值类型： table {r = 255, g = 255, b = 255}
        `
    },
    {
        "label": "GetHexColorByStyleId",
        "insertText": "SL:GetHexColorByStyleId(id)",
        "documentation": dedent`# 常用函数-颜色,[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        把 cfg_colour_style 表中的对应 id 的颜色转换成 16进制 格式
        | 参数名 | 必选 | 类型 | 说明                           |
        | :----- | :--- | :--- | ------------------------------ |
        | id     | 是   | int  | cfg_colour_style 表中的对应 id |
        返回值类型： string “#FFFFFF”
        `
    },
    {
        "label": "GetSizeByStyleId",
        "insertText": "SL:GetSizeByStyleId(id)",
        "documentation": dedent`# 常用函数-颜色,[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        把 cfg_colour_style 表中的对应 id 的颜色大小
        返回值类型： int size
        `
    },
    {
        "label": "GetColorHexFromRGB",
        "insertText": "SL:GetColorHexFromRGB(color3B)",
        "documentation": dedent`# 常用函数-颜色,[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        Color3B颜色转化为hex 16进制
        | 参数名  | 必选 | 类型  | 说明                            |
        | :------ | :--- | :---- | ------------------------------- |
        | color3B | 是   | table | 例: {r = 255, g = 255, b = 255} |
        返回值类型： string “#FFFFFF”

        # 颜色Id(0-255) 对应 16进制Hex(#000000-#ffffff)

        Id：(0)           Hex：(#000000)
        Id：(1)           Hex：(#800000)
        Id：(2)           Hex：(#008000)
        Id：(3)           Hex：(#808000)
        Id：(4)           Hex：(#000080)
        Id：(5)           Hex：(#800080)
        Id：(6)           Hex：(#008080)
        Id：(7)           Hex：(#c0c0c0)
        Id：(8)           Hex：(#558097)
        Id：(9)           Hex：(#9db9c8)
        Id：(10)          Hex：(#7b7373)
        Id：(11)          Hex：(#2d2929)
        Id：(12)          Hex：(#5a5252)
        Id：(13)          Hex：(#635a5a)
        Id：(14)          Hex：(#423939)
        Id：(15)          Hex：(#1d1818)
        Id：(16)          Hex：(#181010)
        Id：(17)          Hex：(#291818)
        Id：(18)          Hex：(#100808)
        Id：(19)          Hex：(#f27971)
        Id：(20)          Hex：(#e1675f)
        Id：(21)          Hex：(#ff5a5a)
        Id：(22)          Hex：(#ff3131)
        Id：(23)          Hex：(#d65a52)
        Id：(24)          Hex：(#941000)
        Id：(25)          Hex：(#942918)
        Id：(26)          Hex：(#390800)
        Id：(27)          Hex：(#731000)
        Id：(28)          Hex：(#b51800)
        Id：(29)          Hex：(#bd6352)
        Id：(30)          Hex：(#421810)
        Id：(31)          Hex：(#ffaa99)
        Id：(32)          Hex：(#5a1000)
        Id：(33)          Hex：(#733929)
        Id：(34)          Hex：(#a54a31)
        Id：(35)          Hex：(#947b73)
        Id：(36)          Hex：(#bd5231)
        Id：(37)          Hex：(#522110)
        Id：(38)          Hex：(#7b3118)
        Id：(39)          Hex：(#2d1810)
        Id：(40)          Hex：(#8c4a31)
        Id：(41)          Hex：(#942900)
        Id：(42)          Hex：(#bd3100)
        Id：(43)          Hex：(#c67352)
        Id：(44)          Hex：(#6b3118)
        Id：(45)          Hex：(#c66b42)
        Id：(46)          Hex：(#ce4a00)
        Id：(47)          Hex：(#a56339)
        Id：(48)          Hex：(#5a3118)
        Id：(49)          Hex：(#2a1000)
        Id：(50)          Hex：(#150800)
        Id：(51)          Hex：(#3a1800)
        Id：(52)          Hex：(#080000)
        Id：(53)          Hex：(#290000)
        Id：(54)          Hex：(#4a0000)
        Id：(55)          Hex：(#9d0000)
        Id：(56)          Hex：(#dc0000)
        Id：(57)          Hex：(#de0000)
        Id：(58)          Hex：(#fb0000)
        Id：(59)          Hex：(#9c7352)
        Id：(60)          Hex：(#946b4a)
        Id：(61)          Hex：(#734a29)
        Id：(62)          Hex：(#523118)
        Id：(63)          Hex：(#8c4a18)
        Id：(64)          Hex：(#884411)
        Id：(65)          Hex：(#4a2100)
        Id：(66)          Hex：(#211810)
        Id：(67)          Hex：(#d6945a)
        Id：(68)          Hex：(#c66b21)
        Id：(69)          Hex：(#ef6b00)
        Id：(70)          Hex：(#ff7700)
        Id：(71)          Hex：(#a59484)
        Id：(72)          Hex：(#423121)
        Id：(73)          Hex：(#181008)
        Id：(74)          Hex：(#291808)
        Id：(75)          Hex：(#211000)
        Id：(76)          Hex：(#392918)
        Id：(77)          Hex：(#8c6339)
        Id：(78)          Hex：(#422910)
        Id：(79)          Hex：(#6b4218)
        Id：(80)          Hex：(#7b4a18)
        Id：(81)          Hex：(#944a00)
        Id：(82)          Hex：(#8c847b)
        Id：(83)          Hex：(#6b635a)
        Id：(84)          Hex：(#4a4239)
        Id：(85)          Hex：(#292118)
        Id：(86)          Hex：(#463929)
        Id：(87)          Hex：(#b5a594)
        Id：(88)          Hex：(#7b6b5a)
        Id：(89)          Hex：(#ceb194)
        Id：(90)          Hex：(#a58c73)
        Id：(91)          Hex：(#8c735a)
        Id：(92)          Hex：(#b59473)
        Id：(93)          Hex：(#d6a573)
        Id：(94)          Hex：(#efa54a)
        Id：(95)          Hex：(#efc68c)
        Id：(96)          Hex：(#7b6342)
        Id：(97)          Hex：(#6b5639)
        Id：(98)          Hex：(#bd945a)
        Id：(99)          Hex：(#633900)
        Id：(100)          Hex：(#d6c6ad)
        Id：(101)          Hex：(#524229)
        Id：(102)          Hex：(#946318)
        Id：(103)          Hex：(#efd6ad)
        Id：(104)          Hex：(#a58c63)
        Id：(105)          Hex：(#635a4a)
        Id：(106)          Hex：(#bda57b)
        Id：(107)          Hex：(#5a4218)
        Id：(108)          Hex：(#bd8c31)
        Id：(109)          Hex：(#353129)
        Id：(110)          Hex：(#948463)
        Id：(111)          Hex：(#7b6b4a)
        Id：(112)          Hex：(#a58c5a)
        Id：(113)          Hex：(#5a4a29)
        Id：(114)          Hex：(#9c7b39)
        Id：(115)          Hex：(#423110)
        Id：(116)          Hex：(#efad21)
        Id：(117)          Hex：(#181000)
        Id：(118)          Hex：(#292100)
        Id：(119)          Hex：(#9c6b00)
        Id：(120)          Hex：(#94845a)
        Id：(121)          Hex：(#524218)
        Id：(122)          Hex：(#6b5a29)
        Id：(123)          Hex：(#7b6321)
        Id：(124)          Hex：(#9c7b21)
        Id：(125)          Hex：(#dea500)
        Id：(126)          Hex：(#5a5239)
        Id：(127)          Hex：(#312910)
        Id：(128)          Hex：(#cebd7b)
        Id：(129)          Hex：(#635a39)
        Id：(130)          Hex：(#94844a)
        Id：(131)          Hex：(#c6a529)
        Id：(132)          Hex：(#109c18)
        Id：(133)          Hex：(#428c4a)
        Id：(134)          Hex：(#318c42)
        Id：(135)          Hex：(#109429)
        Id：(136)          Hex：(#081810)
        Id：(137)          Hex：(#081818)
        Id：(138)          Hex：(#082910)
        Id：(139)          Hex：(#184229)
        Id：(140)          Hex：(#a5b5ad)
        Id：(141)          Hex：(#6b7373)
        Id：(142)          Hex：(#182929)
        Id：(143)          Hex：(#18424a)
        Id：(144)          Hex：(#31424a)
        Id：(145)          Hex：(#63c6de)
        Id：(146)          Hex：(#44ddff)
        Id：(147)          Hex：(#8cd6ef)
        Id：(148)          Hex：(#736b39)
        Id：(149)          Hex：(#f7de39)
        Id：(150)          Hex：(#f7ef8c)
        Id：(151)          Hex：(#f7e700)
        Id：(152)          Hex：(#6b6b5a)
        Id：(153)          Hex：(#5a8ca5)
        Id：(154)          Hex：(#39b5ef)
        Id：(155)          Hex：(#4a9cce)
        Id：(156)          Hex：(#3184b5)
        Id：(157)          Hex：(#31526b)
        Id：(158)          Hex：(#deded6)
        Id：(159)          Hex：(#bdbdb5)
        Id：(160)          Hex：(#8c8c84)
        Id：(161)          Hex：(#f7f7de)
        Id：(162)          Hex：(#000818)
        Id：(163)          Hex：(#081839)
        Id：(164)          Hex：(#081029)
        Id：(165)          Hex：(#081800)
        Id：(166)          Hex：(#082900)
        Id：(167)          Hex：(#0052a5)
        Id：(168)          Hex：(#007bde)
        Id：(169)          Hex：(#10294a)
        Id：(170)          Hex：(#10396b)
        Id：(171)          Hex：(#10528c)
        Id：(172)          Hex：(#215aa5)
        Id：(173)          Hex：(#10315a)
        Id：(174)          Hex：(#104284)
        Id：(175)          Hex：(#315284)
        Id：(176)          Hex：(#182131)
        Id：(177)          Hex：(#4a5a7b)
        Id：(178)          Hex：(#526ba5)
        Id：(179)          Hex：(#293963)
        Id：(180)          Hex：(#4169E1)
        Id：(181)          Hex：(#292921)
        Id：(182)          Hex：(#4a4a39)
        Id：(183)          Hex：(#292918)
        Id：(184)          Hex：(#4a4a29)
        Id：(185)          Hex：(#7b7b42)
        Id：(186)          Hex：(#9c9c4a)
        Id：(187)          Hex：(#5a5a29)
        Id：(188)          Hex：(#424214)
        Id：(189)          Hex：(#393900)
        Id：(190)          Hex：(#595900)
        Id：(191)          Hex：(#ca352c)
        Id：(192)          Hex：(#6b7321)
        Id：(193)          Hex：(#293100)
        Id：(194)          Hex：(#313910)
        Id：(195)          Hex：(#313918)
        Id：(196)          Hex：(#424a00)
        Id：(197)          Hex：(#526318)
        Id：(198)          Hex：(#5a7329)
        Id：(199)          Hex：(#314a18)
        Id：(200)          Hex：(#182100)
        Id：(201)          Hex：(#183100)
        Id：(202)          Hex：(#183910)
        Id：(203)          Hex：(#63844a)
        Id：(204)          Hex：(#6bbd4a)
        Id：(205)          Hex：(#63b54a)
        Id：(206)          Hex：(#63bd4a)
        Id：(207)          Hex：(#5a9c4a)
        Id：(208)          Hex：(#4a8c39)
        Id：(209)          Hex：(#63c64a)
        Id：(210)          Hex：(#63d64a)
        Id：(211)          Hex：(#52844a)
        Id：(212)          Hex：(#317329)
        Id：(213)          Hex：(#63c65a)
        Id：(214)          Hex：(#52bd4a)
        Id：(215)          Hex：(#10ff00)
        Id：(216)          Hex：(#182918)
        Id：(217)          Hex：(#4a884a)
        Id：(218)          Hex：(#4ae74a)
        Id：(219)          Hex：(#005a00)
        Id：(220)          Hex：(#008800)
        Id：(221)          Hex：(#009400)
        Id：(222)          Hex：(#00de00)
        Id：(223)          Hex：(#00ee00)
        Id：(224)          Hex：(#00fb00)
        Id：(225)          Hex：(#4a5a94)
        Id：(226)          Hex：(#6373b5)
        Id：(227)          Hex：(#7b8cd6)
        Id：(228)          Hex：(#6b7bd6)
        Id：(229)          Hex：(#7788ff)
        Id：(230)          Hex：(#c6c6ce)
        Id：(231)          Hex：(#94949c)
        Id：(232)          Hex：(#9c94c6)
        Id：(233)          Hex：(#313139)
        Id：(234)          Hex：(#291884)
        Id：(235)          Hex：(#180084)
        Id：(236)          Hex：(#4a4252)
        Id：(237)          Hex：(#52427b)
        Id：(238)          Hex：(#635a73)
        Id：(239)          Hex：(#ceb5f7)
        Id：(240)          Hex：(#8c7b9c)
        Id：(241)          Hex：(#7722cc)
        Id：(242)          Hex：(#ddaaff)
        Id：(243)          Hex：(#f0b42a)
        Id：(244)          Hex：(#df009f)
        Id：(245)          Hex：(#e317b3)
        Id：(246)          Hex：(#fffbf0)
        Id：(247)          Hex：(#a0a0a4)
        Id：(248)          Hex：(#808080)
        Id：(249)          Hex：(#ff0000)
        Id：(250)          Hex：(#00ff00)
        Id：(251)          Hex：(#ffff00)
        Id：(252)          Hex：(#4169E1)
        Id：(253)          Hex：(#ff00ff)
        Id：(254)          Hex：(#00ffff)
        Id：(255)          Hex：(#ffffff)
        `
    },
    {
        "label": "PlayBtnClickAudio",
        "insertText": "SL:PlayBtnClickAudio()",
        "documentation": dedent`# 常用函数-音效-播放按钮点击音效,[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        `
    },
    {
        "label": "PlaySound",
        "insertText": "SL:PlaySound(id, isLoop)",
        "documentation": dedent`# 常用函数-音效-播放音效,[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        | 参数名 | 必选 | 类型    | 说明              |
        | :----- | :--- | :------ | ----------------- |
        | id     | 是   | int     | cfg_sound表对应id |
        | isLoop | 否   | boolean | 是否循环          |
        `
    },
    {
        "label": "PlaySelectRoleAudio",
        "insertText": "SL:PlaySelectRoleAudio()",
        "documentation": dedent`# 常用函数-音效-播放登陆-选角音效,[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        `
    },
    {
        "label": "PlayOpenBoxAudio",
        "insertText": "SL:PlayOpenBoxAudio()",
        "documentation": dedent`# 常用函数-音效-播放开宝箱音效 [3.40.6版本],[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        `
    },
    {
        "label": "PlayFlashBoxAudio",
        "insertText": "SL:PlayFlashBoxAudio()",
        "documentation": dedent`# 常用函数-音效-播放宝箱内选中音效 [3.40.6版本],[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        `
    },
    {
        "label": "StopSound",
        "insertText": "SL:StopSound(id)",
        "documentation": dedent`# 常用函数-音效-停止音效,[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        | 参数名 | 必选 | 类型    | 说明              |
        | :----- | :--- | :------ | ----------------- |
        | id     | 是   | int     | cfg_sound表对应id |
        `
    },
    {
        "label": "StopAllAudio",
        "insertText": "SL:StopAllAudio()",
        "documentation": dedent`# 常用函数-音效-停止所有音效,[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        `
    },
    {
        "label": "SendInputMsgToChat",
        "insertText": "SL:SendInputMsgToChat(str)",
        "documentation": dedent`# 常用函数-聊天-发送文本显示到聊天页输入框,[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        | 参数名 | 必选 | 类型    | 说明              |
        | :----- | :--- | :------ | ----------------- |
        | id     | 是   | string     | 文本内容 |
        `
    },
    {
        "label": "SendNormalMsgToChat",
        "insertText": "SL:SendNormalMsgToChat(msg, channel)",
        "documentation": dedent`# 常用函数-聊天-发送[普通消息]到聊天 [3.40.2版本],[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        | 参数名 | 必选 | 类型    | 说明              |
        | :----- | :--- | :------ | ----------------- |
        | msg     | 是   | string     | 消息内容 |
        | channel     | 否   | int     | 设置频道, 不设置默认当前聊天频道 |
        `
    },
    {
        "label": "SendSystemMsgToChat",
        "insertText": "SL:SendSystemMsgToChat(data)",
        "documentation": dedent`# 常用函数-聊天-发送[系统提示]到聊天框 [3.40.2版本],[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        | 参数名 | 必选 | 类型    | 说明              |
        | :----- | :--- | :------ | ----------------- |
        | data     | 是   | table     | Msg: 提示内容 FColor: 字体颜色ID BColor: 背景颜色ID |

        local mdata = {
            Msg        = string.format("自动移动坐标点(%s:%s)不可到达", mapX, mapY),
            FColor     = 154,
            BColor     = 255,
        }
        SL:SendSystemMsgToChat(mdata)
        `
    },
    {
        "label": "SendEquipMsgToChat",
        "insertText": "SL:SendEquipMsgToChat(itemData, channel)",
        "documentation": dedent`# 常用函数-聊天-发送[装备]到聊天,[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        | 参数名 | 必选 | 类型    | 说明              |
        | :----- | :--- | :------ | ----------------- |
        | itemData	 | 是   | table     | 装备数据 |
        | channel     | 否   | int     | 设置频道, 不设置默认当前聊天频道 |
        `
    },
    {
        "label": "SendPosMsgToChat",
        "insertText": "SL:SendPosMsgToChat(channel)",
        "documentation": dedent`# 常用函数-聊天-发送[位置]到聊天,[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        | 参数名 | 必选 | 类型    | 说明              |
        | :----- | :--- | :------ | ----------------- |
        | channel     | 否   | int     | 设置频道, 不设置默认当前聊天频道 |
        `
    },
    {
        "label": "SendEmojiMsgToChat",
        "insertText": "SL:SendEmojiMsgToChat(data, channel)",
        "documentation": dedent`# 常用函数-聊天-发送[表情]到聊天,[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        | 参数名 | 必选 | 类型    | 说明              |
        | :----- | :--- | :------ | ----------------- |
        | data     | 是   | table     | 表情配置 |
        | channel     | 否   | int     | 设置频道, 不设置默认当前聊天频道 |
        `
    },
    {
        "label": "PrivateChatWithTarget",
        "insertText": "SL:PrivateChatWithTarget(targetID, targetName)",
        "documentation": dedent`# 常用函数-聊天-私聊目标,[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        | 参数名 | 必选 | 类型    | 说明              |
        | :----- | :--- | :------ | ----------------- |
        | targetID     | 是   | string     | 目标玩家ID |
        | targetName     | 是   | string     | 目标玩家名字 |
        `
    },
    {
        "label": "AddDropChatMsgShow",
        "insertText": "SL:AddDropChatMsgShow(data)",
        "documentation": dedent`# 常用函数-聊天-新增本地掉落消息到聊天 [3.40.7版本],[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        | 参数名 | 必选 | 类型    | 说明              |
        | :----- | :--- | :------ | ----------------- |
        | data     | 是   | table     | Msg: 掉落内容富文本 FColor: 字体颜色ID BColor: 背景颜色ID dropType: 掉落分类ID (1-10) |
        例:
        SL:AddDropChatMsgShow({
            FColor = 253,
            BColor = 255,
            Msg = "测试掉落<outline size='1' color='#000'><font color='#ffffff'>物品 </font><font color='#ffffff'> 从 </font><font color='#28ef01'>一只牛</font><font color='#ffffff'> 身上掉落在 </font><font color='#FFA500'>盟重省(222,333)</font><font color='#ffffff'> 附近</font></outline>",
            dropType = 1,
        })
        `
    },
    {
        "label": "DownLoadRes",
        "insertText": "SL:DownLoadRes(path, url, downloadCB)",
        "documentation": dedent`# 常用函数-资源下载,[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        | 参数名     | 必选 | 类型     | 说明           |
        | :--------- | :--- | :------- | -------------- |
        | path       | 是   | string   | 保存的文件路径 |
        | url        | 是   | string   | 下载资源地址   |
        | downloadCB | 否   | function | 回调函数       |
        例:
        SL:DownLoadRes("res/02.png", "http://engine-doc.996m2.com/Public/Uploads/2022-08-09/62f25c9fe04c0.png",test)
        
        function test(...)
            print("test",...)
        end

        `
    },
    {
        "label": "DownloadMiniMapRes",
        "insertText": "SL:DownloadMiniMapRes(mapId, callback)",
        "documentation": dedent`# 常用函数-小地图资源下载,[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        | 参数名   | 必选 | 类型     | 说明     |
        | :------- | :--- | :------- | -------- |
        | mapId    | 是   | int      | 小地图Id |
        | callback | 是   | function | 回调函数 |
        例:
        local function callBack(isOk, path) -- isOk 下载是否成功, path 返回小地图路径 
            if isOk then 
                print("下载成功")
            else 
                print("下载失败")
            end 
            print("小地图路径",path)
        end 
        SL:DownloadMiniMapRes(100, callBack)
        `
    },
    {
        "label": "RemoveGMResFile",
        "insertText": "SL:RemoveGMResFile(filePath)",
        "documentation": dedent`# 常用函数-删除GM缓存资源 [3.40.6版本],[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        | 参数名   | 必选 | 类型     | 说明     |
        | :------- | :--- | :------- | -------- |
        | filePath    | 是   | string      | 文件路径 |
        `
    },
    {
        "label": "ClearTarget",
        "insertText": "SL:ClearTarget()",
        "documentation": dedent`# 常用函数-Actor-清空选中目标actor,[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        `
    },
    {
        "label": "QuickSelectTarget",
        "insertText": "SL:QuickSelectTarget(data)",
        "documentation": dedent`# 常用函数-Actor-快速选择目标,[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        | 参数名 | 必选 | 类型  | 说明                                                         |
        | :----- | :--- | :---- | ------------------------------------------------------------ |
        | data   | 是   | table | type:  0: 玩家  50: 怪物  400: 英雄 imgNotice: 没有目标时是否创建范围圈 systemTips: 没有目标时是否弹提示 |
        `
    },
    {
        "label": "FindPlayerInCurrViewField",
        "insertText": "SL:FindPlayerInCurrViewField(noMainPlayer)",
        "documentation": dedent`# 常用函数-Actor-获取视野内的玩家,[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        | 参数名       | 必选 | 类型    | 说明                         |
        | :----------- | :--- | :------ | ---------------------------- |
        | noMainPlayer | 否   | boolean | false: 包含自己， 反之不包含 |
        返回值：table
        `
    },
    {
        "label": "FindMonsterInCurrViewField",
        "insertText": "SL:FindMonsterInCurrViewField(noPetOfMainPlayer, noPetOfNetPlayer)",
        "documentation": dedent`# 常用函数-Actor-获取视野内的怪物,[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        | 参数名            | 必选 | 类型    | 说明                               |
        | :---------------- | :--- | :------ | ---------------------------------- |
        | noPetOfMainPlayer | 否   | boolean | true: 不包含自己的宠物， 反之包含  |
        | noPetOfNetPlayer  | 否   | boolean | false: 包含别人的宠物， 反之不包含 |
        返回值：table
        `
    },
    {
        "label": "CustomAttrWidgetAdd",
        "insertText": "SL:CustomAttrWidgetAdd(metaValue, widget)",
        "documentation": dedent`# 常用函数-Actor-控件加入到元变量自动刷新的组件,[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        | 参数名    | 必选 | 类型   | 说明                                                         |
        | :-------- | :--- | :----- | ------------------------------------------------------------ |
        | metaValue | 是   | string | 传入已配置元变量的字符串 &<元变量KEY/参数>& 例 : 红点变量U91: &<REDKEY/U91>& 角色名: &<USER_NAME>& |
        | widget    | 是   | object | 文本控件 Text                                                |
        示例
        local Text_count = GUI:Text_Create(GUI:Attach_LeftBottom(), "MONEY_COUNT", 200, 100, 16, "#00FF00", "")
        SL:CustomAttrWidgetAdd("元宝数量: &<TMONEY/元宝>&", Text_count)
        -- 多货币
        -- SL:CustomAttrWidgetAdd("货币1,2总数量: &<TMONEY/1,2>&", Text_count)
        `
    },
    {
        "label": "CheckNodeCanCallBack",
        "insertText": "SL:CheckNodeCanCallBack(node, touchPos)",
        "documentation": dedent`# 常用函数-Actor-检测控件是否可视 (用于检测在列表/滚动容器内控件),[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        默认检测层数 : 6
        | 参数名   | 必选 | 类型   | 说明         |
        | :------- | :--- | :----- | ------------ |
        | node     | 是   | object | 控件         |
        | touchPos | 是   | table  | 当前接触坐标 |
        示例

        GUI:addMouseMoveEvent(node, {
            onEnterFunc = function(touchPos)
                if SL:CheckNodeCanCallBack(node, touchPos) then
                    local info = {
                        str = "tttt",
                        worldPos = touchPos,
                    }
                    SL:OpenCommonDescTipsPop(info)
                end
            end,
            onLeaveFunc = function()
                SL:CloseCommonDescTipsPop()
            end
        })
        `
    },
    {
        "label": "AddUpgradeBtn",
        "insertText": "SL:AddUpgradeBtn(id, name, func)",
        "documentation": dedent`# 常用函数-提升按钮-添加提升按钮,[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        等同TXT脚本命令addbutshow
        | 参数名 | 必选 | 类型     | 说明                                             |
        | :----- | :--- | :------- | ------------------------------------------------ |
        | id     | 是   | int      | 按钮id 必须唯一!!!! (同脚本命令加的id也不能重复) |
        | name   | 是   | string   | 按钮展示文本                                     |
        | func   | 是   | function | 点击按钮跳转函数                                 |
        `
    },
    {
        "label": "RemoveUpgradeBtn",
        "insertText": "SL:RemoveUpgradeBtn(id)",
        "documentation": dedent`# 常用函数-提升按钮-删除提升按钮,[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        等同TXT脚本命令delbutshow
        | 参数名 | 必选 | 类型     | 说明                                             |
        | :----- | :--- | :------- | ------------------------------------------------ |
        | id     | 是   | int      | 按钮id 必须唯一!!!! (同脚本命令加的id也不能重复) |
        `
    },
    {
        "label": "WinClick",
        "insertText": "SL:WinClick(widget)",
        "documentation": dedent`# 常用函数-鼠标模拟事件-模拟左键点击事件,[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        | 参数名 | 必选 | 说明                                             |
        | :----- | :--- |  -------------- |
        | widget     | 是   |  控件对象 |
        `
    },
    {
        "label": "ConvertWorldPos2MapPos",
        "insertText": "SL:ConvertWorldPos2MapPos(worldX, worldY)",
        "documentation": dedent`# 常用函数-坐标转换 [3.40.2版本]-世界坐标转化为地图坐标,[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        | 参数名 | 必选 | 说明      |
        | :----- | :--- | --------- |
        | worldX | 是   | 世界坐标X |
        | worldY | 是   | 世界坐标Y |
        `
    },
    {
        "label": "ConvertMapPos2WorldPos",
        "insertText": "SL:ConvertMapPos2WorldPos(mapX, mapY, centerOfGrid)",
        "documentation": dedent`# 常用函数-坐标转换 [3.40.2版本]-地图坐标转化为世界坐标,[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        | 参数名       | 必选 | 说明             |
        | :----------- | :--- | ---------------- |
        | mapX         | 是   | 地图坐标X        |
        | mapY         | 是   | 地图坐标Y        |
        | centerOfGrid | 否   | 是否在地图格中心 |
        `
    },
    {
        "label": "ConvertWorldPos2Screen",
        "insertText": "SL:ConvertWorldPos2Screen(worldX, worldY)",
        "documentation": dedent`# 常用函数-坐标转换 [3.40.2版本]-世界坐标转化为屏幕坐标,[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        | 参数名 | 必选 | 说明      |
        | :----- | :--- | --------- |
        | worldX | 是   | 世界坐标X |
        | worldY | 是   | 世界坐标Y |
        `
    },
    {
        "label": "ConvertScreen2WorldPos",
        "insertText": "SL:ConvertScreen2WorldPos(screenX, screenY)",
        "documentation": dedent`# 常用函数-坐标转换 [3.40.2版本]-屏幕坐标转化为世界坐标,[在线文档](http://engine-doc.996m2.com/web/#/22/1355)。
        | 参数名  | 必选 | 说明      |
        | :------ | :--- | --------- |
        | screenX | 是   | 屏幕坐标X |
        | screenY | 是   | 屏幕坐标Y |
        `
    },
]


export function getCompletionItems(): vscode.CompletionItem[] {


    const completionItems: vscode.CompletionItem[] = [];
    slItems.forEach((item: any) => {
        completionItems.push(createFunctionCompletionItem(item.label, item.insertText, item.documentation));
    });
    return completionItems;
}

function createFunctionCompletionItem(label: string, insertText: string, documentation?: string): vscode.CompletionItem {
    const item = new vscode.CompletionItem(label, vscode.CompletionItemKind.Function);
    item.insertText = new vscode.SnippetString(insertText);
    if (documentation) {
        item.documentation = new vscode.MarkdownString(documentation);
    }
    return item;
}
